1. 程式人生 > 資料庫 >Mysql出生日期轉換為年齡並分組統計人數的方法示例

Mysql出生日期轉換為年齡並分組統計人數的方法示例

查詢資料庫

SELECT * FROM `student`

查詢結果

id name birthday
1 張三 1970-10-01
2 李四 1990-10-01
3 王五 2002-10-01
4 馬六 2003-10-01

轉換為年齡的查詢語句,使用函式TIMESTAMPDIFF

SELECT id,name,birthday,TIMESTAMPDIFF(YEAR,student.birthday,CURDATE()) as age FROM `student`

查詢結果

d name birthady age
1 張三 1970-10-01 50
2 李四 1990-10-01 30
3 王五 2002-10-01 18
4 馬六 2003-10-01 17

然後按照年齡段進行分組

SELECT
	GROUP_CONCAT(a.id) as ids,GROUP_CONCAT(a.name) as names,CASE
		WHEN a.age<18 THEN '少年'
		WHEN a.age>=18 AND a.age< 40 THEN '青年'
		WHEN a.age>=40 AND a.age< 60 THEN '中年'
	END as age,count(a.id) as count
FROM
	(SELECT id,CURDATE()) as age FROM `student`) as a
GROUP BY
	CASE
		WHEN a.age<18 THEN '少年'
		WHEN a.age>=18 AND a.age< 40 THEN '青年'
		WHEN a.age>=40 AND a.age< 60 THEN '中年'
	END

查詢結果

ids names age count
1 張三 中年 1
4 馬六 少年 1
2,3 李四,王五 青年 2

tips:當前時間是2020年

總結

到此這篇關於Mysql出生日期轉換為年齡並分組統計人數的文章就介紹到這了,更多相關Mysql出生日期轉年齡並分組統計內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!