日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL根据出生日期查询年龄,以及对年龄进行分组统计

發布時間:2024/3/13 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL根据出生日期查询年龄,以及对年龄进行分组统计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

表stu數據如下

1. 根據出生日期查詢年齡

SELECT TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) AS age FROM stu;

返回結果:

函數DATE():提取日期或日期/時間表達式的日期部分;

函數CURDATE():返回當前的日期;

函數TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2):計算兩個日期的時間差,unit是計算時間差的單位,可以是SECOND秒、MINUTE分鐘、HOUR小時、DAY天、WEEK星期、MONTH月、QUARTER季度、YEAR年。
?

2.對年齡進行分組統計

1)case 結構

SELECT年齡段,count(*) 人數 FROM(SELECTCASE WHEN TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE())<20 THEN '20歲以下' WHEN TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) >= 20 AND TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) <= 22 THEN '20-22歲' WHEN TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) >= 23 AND TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) <= 25 THEN '23-25歲' WHEN TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE())>25 THEN '25歲以上' else '未知'END AS 年齡段FROM stu ) AS a GROUP BY 年齡段;

2)if結構

SELECT年齡段,count(*) 人數 FROM (SELECTIF(TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE())<20,'20歲以下',IF(TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE())>= 20 AND TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) <= 22,'20-22歲',IF(TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE())>= 23 AND TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE()) <= 25,'23-25歲',IF(TIMESTAMPDIFF(YEAR,DATE(birthdate),CURDATE())>25,'25歲以上','未知'))))AS 年齡段FROM stu )AS a GROUP BY 年齡段;

返回結果:

?

總結

以上是生活随笔為你收集整理的MySQL根据出生日期查询年龄,以及对年龄进行分组统计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。