查询数据库

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

然后按照年龄段进行分组

SELECTGROUP_CONCAT(a.id) as ids,GROUP_CONCAT(a.name) as names,CASEWHEN 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 countFROM(SELECT id, name, birthday, TIMESTAMPDIFF(YEAR,student.birthday,CURDATE()) as age FROM `student`) as aGROUP BYCASEWHEN 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年

总结

更多相关文章

  1. MySQL系列多表连接查询92及99语法示例详解教程
  2. Andorid Dialog 示例【慢慢更新】
  3. Android(安卓)PureMVC
  4. Ubunu下搭建android NDK环境
  5. 自定义SeekBar主题
  6. android SQLite数据库基本操作示例
  7. android draw bitmap 示例代码
  8. Android启动时启动Activity 的定义的位置
  9. Android适配器之------BaseAdapter(例子)

随机推荐

  1. 【iOS-Android开发对比】之 数据存储
  2. Android中的横竖屏、资源、国际化的使用
  3. [置顶] Android开机铃声教程,所有Rom,不论C
  4. android新手入门FAQ
  5. Android(安卓)Studio和Gradle使用不同位
  6. android自学第二天 Android API Guide学
  7. delphi XE开发微信支付Android获取手机存
  8. android基础知识12:android自动化测试03—
  9. Android自定义视图二:如何绘制内容
  10. [android] 将Java程序移植到android上