こんにちは。ぽこです!
今回は、SQLで平均値を出し、それを大きい順に表示する方法を紹介します。
やりたいこと
今回は、このようなデータをイメージします。
社員名 | 部署 | 給料 |
A | 総務 | 200,000 |
B | 営業 | 180,000 |
C | 営業 | 230,000 |
D | 経理 | 250,000 |
E | 総務 | 220,000 |
F | 経理 | 240,000 |
G | 営業 | 190,000 |
ここで、部署ごとの平均給料を求め、大きい順に並べます。
出したいデータはこんな感じ。
部署 | 平均給料 |
経理 | 245,000 |
総務 | 210,000 |
営業 | 200,000 |
コード
そのためには、このようなSQLを実行します。
1 2 3 4 |
SELECT 部署, AVG(給料) FROM `employee` GROUP BY 部署 ORDER BY AVG(給料) DESC |
GROUP BYで、部署ごとにグループ分けをし、その中での平均給料を、降順(DESC)に並べ替えます。