こんにちは。ぽこです!
今回は、SQLを使って年代ごとの合計や平均値を出す方法を紹介します。
コード
10代、20代…のように、年代ごとの人数と、給料の平均値を出します。
1 2 3 4 5 |
SELECT TRUNCATE(TIMESTAMPDIFF(YEAR, birth, '2022-07-28'), -1) AS age, COUNT(id) AS member_count, AVERAGE(salary) FROM member GROUP BY age |
TRUNCATE、TIMESTAMPDIFFを使うことで、年齢を抽出しています。
「TRUNCATE関数」を使用すると、第2引数で指定した「-1桁」つまり1桁目を切り捨てることができます。
「FLOOR関数」を使って、次のように書くこともできます。
1 2 3 4 5 |
SELECT FLOOR(TIMESTAMPDIFF(YEAR, birth, '2022-07-28')/10)*10 AS age, COUNT(id) AS member_count, AVERAGE(salary) FROM member GROUP BY age |
こちらは、10で割ってから余りを切り捨てています。