获得徽章 5
- #每天一个知识点# 给大家整理了关于按时间统计数据的方法内容,有需要的朋友们学习下。
在做数据库的统计时,经常会需要根据年、月、日来统计数据
在MySQL中对于时间日期的处理的函数主要是DATE_FORMAT(date,format)。可用的参数如下
注:当涉及到按日统计是,需要使用%j,而如果使用%d, %e, %w的话,那么不同月份/周里的相同值会统计在一起。
统计时间范围内不同分类action的数量
SELECT action, COUNT(id) count FROM apilog WHERE DATE_FORMAT(`timestamp`,'%j') = DATE_FORMAT(now(),'%j') ORDER BY count desc;
统计某分类action的时间维度数量
SELECT action, DATE_FORMAT(`timestamp`,'%j'), COUNT(id) count FROM apilog WHERE action = 'xxx' GROUP BY DATE_FORMAT(`timestamp`,'%j')
同时按action和时间维度统计
SELECT action, DATE_FORMAT(`timestamp`,'%j'), COUNT(id) count FROM apilog GROUP BY action, DATE_FORMAT(`timestamp`,'%j')
展开
110
![[发呆]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_4.28b310a.png)
![[色]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_3.41d9a9a.png)