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

