今天在数据库取数的时候发现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
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'
还没有评论,来说两句吧...