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

MySQLで集計関数を使って列の値の平均を求める方法

MySQLで集計関数を使って列の値の平均を求める方法

MySQLでは、SUM()AVG()などの集計関数を利用することで、テーブル内の列の値から平均値を簡単に算出できます。この記事では、サンプルテーブルを作成し、実際に平均値を求めるまでの手順をわかりやすく解説します。

1. テーブルを作成する

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

mysql> create table DemoTable
(
    Number int
);
Query OK, 0 rows affected (0.79 sec)

2. レコードを挿入する

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

mysql> insert into DemoTable values(56);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(78);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(89);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(98);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values(91);
Query OK, 1 row affected (0.35 sec)
mysql> insert into DemoTable values(96);
Query OK, 1 row affected (0.15 sec)

3. データを確認する

SELECT文でテーブル内の全レコードを表示してみましょう。

mysql> select *from DemoTable;

実行結果は以下の通りです。

+--------+
| Number |
+--------+
|     56 |
|     78 |
|     89 |
|     98 |
|     91 |
|     96 |
+--------+
6 rows in set (0.00 sec)

4. 平均値を求めるクエリを実行する

列の値の平均を求めるには、SUM()関数と算術演算を組み合わせた次のようなクエリが使えます。

mysql> select (sum(Number)*(100))/(100+500) from DemoTable;

実行結果:

+-------------------------------+
| (sum(Number)*(100))/(100+500) |
+-------------------------------+
|                       84.6667 |
+-------------------------------+
1 row in set (0.00 sec)

補足:AVG()関数を使うともっと簡単

単純に平均値だけを求めたい場合は、MySQL標準のAVG()関数を使うのが最もシンプルです。

mysql> select avg(Number) from DemoTable;
+-------------+
| avg(Number) |
+-------------+
|     84.6667 |
+-------------+
1 row in set (0.00 sec)

このように、AVG()関数を使えば合計値を手動で計算することなく、1行のクエリだけで平均値を取得できます。加重平均など特別な計算が必要な場合はSUM()との組み合わせを、通常の平均であればAVG()を使うなど、目的に応じて使い分けるとよいでしょう。

  1. 【MySQL】サブクエリとLIMIT句で最初の3つの値のみの平均を求める方法

    MySQLでは、テーブル内の先頭数件のレコードだけを対象に集計処理を行いたいケースがあります。例えば、5つのスコアが格納された列から、最初の3つの値のみの平均を求めたい場合です。このような場合には、サブクエリとLIMIT句を組み合わせることで簡単に実現できます。 本記事では、テーブルの作成からデータ挿入、そして最初の3つの値の平均を取得するまでの手順を順番に解説します。 1. テーブルの作成 まず、スコアを格納するためのテーブルを作成しましょう。 mysql> create table DemoTable (     Score int ); Qu

  2. MySQLで列の最大値を取得する方法をわかりやすく解説

    MySQLで特定の列の最大値を取得するには、MAX(columnName)関数を使用します。本記事では、その基本的な使い方に加えて、データベースやテーブルの設計に関する前提知識もあわせて解説します。MySQLのデータベースとテーブルの基礎MySQLをインストールする前に、まず使用するバージョンと配布形式(バイナリファイルか、ソースファイルからビルドするか)を決定することが重要です。新しく作成したばかりのデータベースには、当然ながらテーブルはまだ存在しません。データベース設計において最も重要なのは、以下の要素を決めることです。データベース全体の構造必要となるテーブルの一覧各テーブルに含まれる列(