MySQL根据数据库字段进行按天、按月、按年分组统计查询

今天在数据库取数的时候发现MySQL中的时间字段是一串数字,然后返回的JSON数据中也是一串数字,这对后期做数据分析数据可视化来说很不友好。由于不懂怎么处理,然后就开始询问度娘。终于功夫不负有心人,在经历了九九八十一次失败后,终于找到了解决方法。下面简单记录一下,用作源码库个人收藏备用。

图片[1]-MySQL根据数据库字段进行按天、按月、按年分组统计查询-开源源码

MySQL根据数据库字段进行按天、按月、按年分组统计查询函数代码

1、如果时间字段类型为date或datetime:

//按周查询
SELECT DATE_FORMAT(create_time,'%Y%u') weeks,COUNT(id) COUNT FROM role GROUP BY weeks;
//按天查询
SELECT DATE_FORMAT(create_time,'%Y%m%d') days,COUNT(id) COUNT FROM role GROUP BY days;
//按月查询
SELECT DATE_FORMAT(create_time,'%Y%m') months,COUNT(id) COUNT FROM role GROUP BY months

2、如果时间字段为时间戳(timestamp)或int表示的时间戳:

//按周查询
SELECT FROM_UNIXTIME(create_time,'%Y%u') weeks,COUNT(id) COUNT FROM role GROUP BY weeks;
//按天查询
SELECT FROM_UNIXTIME(create_time,'%Y%m%d') days,COUNT(id) COUNT FROM role GROUP BY days;
//按月查询
SELECT FROM_UNIXTIME(create_time,'%Y%m') months,COUNT(id) COUNT FROM role GROUP BY months

备注:里面的日期和时间格式可以根据自己的需求调整为:'%Y%u'   '%Y-%m-%d %H:00:00'   '%Y-%m-%d'   '%Y/%m/%d'

 

内容看完了
© 版权声明
1:本网站名称:蜡笔傻新
2:本站永久网址:https://labishaxin.com/
3:本站部分内容收集于互联网,如果有侵权内容、请联系我们删除,不妥之处,敬请谅解
4:本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责
5:本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6:本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新
点赞6068赞赏 分享
评论 抢沙发

请登录后发表评论