最近入手学习echarts图表插件,想要将mysql数据库中的数据按月分组查询出来。开始,想的方式是,新增一个字段存储月份,然后将该字段查询出来。

但是这种方式,一想都觉得太麻烦了,应该是可以通过时间戳转换为月份吧!网络上搜索了资料,mysql确实支持时间戳按月分组查询数据。

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

按月查询

SELECT FROM_UNIXTIME(create_time,’%Y%m’) months,COUNT(id) count FROM  inform where smalltype=’12_1′ GROUP BY months
order by count desc

查询效果:

按周查询

SELECT FROM_UNIXTIME(create_time,’%Y%u’) weeks,COUNT(id) count FROM  where smalltype=’12_1′ GROUP BY weeks order by count desc

按天查询

SELECT FROM_UNIXTIME(create_time,’%Y%m%d’) days,COUNT(id) count FROM  where smalltype=’12_1′ GROUP BY days order by count desc

如果时间字段类型为date或datetime,该如何分组查询呢:

按周查询

SELECT DATE_FORMAT(create_time,’%Y%u’) weeks,COUNT(id) count FROM  inform where smalltype =’12_1′ GROUP BY weeks order by count desc

按天查询
SELECT DATE_FORMAT(created_at,’%Y-%m-%d’) days,COUNT(id) count FROM  inform where smalltype =’12_1′  GROUP BY days order by count desc

按月查询
SELECT DATE_FORMAT(create_time,’%Y%m’) months,COUNT(id) count FROM  inform where smalltype =’12_1′  GROUP BY months order by count desc

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部