こんにちは。ぽこです!
今回は、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)に並べ替えます。
