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

今天在数据库取数的据数据库时候发现MySQL中的时间字段是一串数字,然后返回的字段JSON数据中也是一串数字 ,这对后期做数据分析数据可视化来会谈很不友好 。铺开由于不懂怎么筹备 ,按天按月按年然后就起始询问度娘 。分组终于功夫不负有心人,统计在经历了九九八十一次出局后 ,查询终于找到了解决计划。据数据库下面简易记录一下 ,字段用作源码库个人收藏备用 。铺开

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
//按周查询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
//按周查询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
//按周查询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
//按周查询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

 

内容校验完了
渝ICP备2025076537号-22