平均値を取得するには「AVG」関数を使います。
ここでは MySQLコマンド「AVG」の具体的な使い方を解説していきます。
「AVG」の基本
「AVG」は、「SELECT」などと組み合わせて使います。
以下のようにすると、指定したカラムの値の平均値を取得できます。
SELECT AVG(カラム名) FROM テーブル名;
SELECT 文の詳しい使い方はこちら。
テーブル全体のデータの平均値を取得する
実際にMySQLサーバーに接続し、動作を確認してみましょう。
あらかじめ「test」データベースの「users」テーブルに、以下のようにデータが保存されている例で進めていきます。
name | gender |
age |
佐藤 | man | 21 |
鈴木 | woman | 25 |
田中 | woman | 21 |
山田 | man | 32 |
吉田 | man | 32 |
データを保存するコマンド例
CREATE DATABASE test;
USE test;
CREATE TABLE users (name VARCHAR(100), gender VARCHAR(100), age INT);
INSERT INTO users (name, gender, age) VALUES ('佐藤', 'man', 21);
INSERT INTO users (name, gender, age) VALUES ('鈴木', 'woman', 25);
INSERT INTO users (name, gender, age) VALUES ('田中', 'woman', 21);
INSERT INTO users (name, gender, age) VALUES ('山田', 'man', 32);
INSERT INTO users (name, gender, age) VALUES ('吉田', 'man', 32);
CREATE DATABASE 文の詳しい使い方はこちら。
USE 文の詳しい使い方はこちら。
CREATE TABLE 文の詳しい使い方はこちら。
INSERT INTO 文の詳しい使い方はこちら。
それでは「users」テーブル全体の、「age」カラムの値の平均値を取得してみましょう。コマンドは以下。
SELECT AVG(age) FROM users;
コマンドを実行すると 以下のように結果が表示され、平均値が 26.2 であることがわかりました。
条件に一致するレコードの中での平均値を取得する
今度は WHERE
も使って、条件に一致するレコードの中での平均値を取得してみましょう。
以下のようにすると、「gender」カラムの値が woman
の、「age」カラムの値の平均値を取得できます。
SELECT AVG(age) FROM users WHERE gender = 'woman';
コマンドを実行すると 以下のように結果が表示され、平均値が 23 であることがわかりました。
WHERE の詳しい使い方はこちら。
グループごとの平均値を取得する
今度は「GROUP BY」を使ってデータをグループ化し、それぞれのグループごとの平均値を取得してみましょう。
以下のようにすると、「gender」カラムのそれぞれの値ごとに、「age」カラムの値の平均値を取得することができます。
SELECT gender, AVG(age) FROM users GROUP BY gender;
コマンドを実行すると、以下のように結果が表示されました。
GROUP BY の詳しい使い方はこちら。
まとめ
以上、MySQLコマンド「AVG」の使い方でした!
ここまでの内容をまとめておきます。
- 「AVG」で指定したカラムの値の平均値を取得することができる。
- 「GROUP BY」を組み合わせると、グループごとの平均値を取得することができる。