好久没碰时间函数了。
今天个 查询出每个年龄段的人数。
mysql 结果:
select '20至30' as '年龄段', count(*) as '人数' from test.tb t where TIMESTAMPDIFF(year,t.birthday,now()) >=20 and TIMESTAMPDIFF(year,t.birthday,now()) <30
union all select '30至35' as '年龄段', count(*) as '人数' from test.tb t where TIMESTAMPDIFF(year,t.birthday,now()) >=30 and TIMESTAMPDIFF(year,t.birthday,now()) <35
union all select '35至40' as '年龄段', count(*) as '人数' from test.tb t where TIMESTAMPDIFF(year,t.birthday,now()) >=35 and TIMESTAMPDIFF(year,t.birthday,now()) <=40
下面看 TIMESTAMPDIFF 函数的作用:
返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:
FRAC_SECOND:
表示间隔是毫秒
SECOND:秒
MINUTE:分钟
HOUR:小时
DAY:天
WEEK:星期
MONTH:月
QUARTER:季度
YEAR:年
TIMESTAMPADD(interval,int_expr,datetime_expr)
说明:
将整型表达式int_expr 添加到日期或日期时间表达式 datetime_expr中。式中的interval和上文中列举的取值是一样的。
而这个就跟TIMESTAMPDIFF 有点相反.