MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで平均の平均を単一の行として取得する方法

MySQLで平均の平均を1行で取得する方法

MySQLでは、集計関数AVG()を使用することで、「平均の平均」を単一の行として表示できます。ここでは、サンプルテーブルを作成し、実際にクエリを実行しながら手順を解説します。

ステップ1:テーブルを作成する

まず、CREATE TABLE文でテーブルを作成します。

mysql> create table DemoTable
(
    Value1 int,
    Value2 int,
    Value3 int
);
Query OK, 0 rows affected (0.54 sec)

ステップ2:レコードを挿入する

INSERTコマンドを使って、テーブルにデータを登録します。

mysql> insert into DemoTable values(10,20,30);
Query OK, 1 row affected (0.30 sec)
mysql> insert into DemoTable values(13,15,18);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(21,31,41);
Query OK, 1 row affected (0.21 sec)

ステップ3:テーブルの内容を確認する

SELECTコマンドで、登録したレコードを表示してみましょう。

mysql> select *from DemoTable;

実行すると、次のような結果が得られます。

+--------+--------+--------+
| Value1 | Value2 | Value3 |
+--------+--------+--------+
| 10     | 20     | 30     |
| 13     | 15     | 18     |
| 21     | 31     | 41     |
+--------+--------+--------+
3 rows in set (0.00 sec)

ステップ4:平均の平均を求めるクエリを実行する

以下が、平均の平均を単一の行で表示するためのクエリです。各行の3つのカラムの合計に対してAVG()を適用し、その結果を3.0で割っています。

mysql> select avg(Value1+Value2+Value3)/3.0 from DemoTable;

実行結果:

+-------------------------------+
| avg(Value1+Value2+Value3)/3.0 |
+-------------------------------+
| 22.11111111                   |
+-------------------------------+
1 row in set (0.00 sec)

計算の仕組みを解説

このクエリがどのように動作しているのか、内訳を見てみましょう。まず各行ごとの平均値は次のとおりです。

  • 1行目:(10 + 20 + 30) ÷ 3 = 20.00
  • 2行目:(13 + 15 + 18) ÷ 3 = 15.33
  • 3行目:(21 + 31 + 41) ÷ 3 = 31.00

これらの平均値をさらに平均すると、(20.00 + 15.33 + 31.00) ÷ 3 ≈ 22.11111111 となり、クエリの実行結果と一致します。つまり、AVG(Value1+Value2+Value3) の部分で全行の合計値の平均を求め、それを3.0で割ることで、各行の平均の平均を一度に算出できるのです。

  1. MySQLで行データの最大ID(max(id))を取得する方法

    MySQLでテーブル内の最大のIDを取得するには、MAX()関数を使用します。MAX()は指定したカラムの中から最も大きい値を返す集計関数で、IDの最大値を調べたい場合に非常に便利です。基本構文SELECT MAX(カラム名) AS 別名 FROM テーブル名;サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> create table DemoTable710 (Id int); Query OK, 0 rows affected (0.53 sec)レコードの挿入INSERT文を使って、テーブルにいくつかのレコードを追加します。mysql> inse

  2. MySQLで特定の行から単一の値だけを取得する方法(SELECT INTOの使い方)

    MySQLで特定の条件に一致する行から、単一の値だけを変数に取得したい場合は、SELECT ... INTO 変数構文とWHERE句を組み合わせて使用します。この記事では、実際のテーブル作成から値の取得までの手順を順番に解説します。 1. サンプルテーブルを作成する まずは動作確認用のテーブルを作成しましょう。学生ID・氏名・点数を持つシンプルなテーブルを定義します。 mysql> create table DemoTable1896 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName