为了账号安全,请及时绑定邮箱和手机立即绑定

按日/月/年分列的MySQL查询组

按日/月/年分列的MySQL查询组

按日/月/年分列的MySQL查询组我是否可以简单地查询一下,在一段确定的时间内,我有多少记录,比如一年、一个月或几天,有一个TIMESTAMP字段,例如:SELECT COUNT(id)FROM statsWHERE record_date.YEAR = 2009GROUP BY record_date.YEAR甚至:SELECT COUNT(id)FROM statsGROUP BY record_date.YEAR, record_date.MONTH每月的统计数据。谢谢!
查看完整描述

3 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

GROUP BY YEAR(record_date), MONTH(record_date)

检查一下日期和时间函数在MySQL。


查看完整回答
反对 回复 2019-06-29
?
慕仙森

TA贡献1827条经验 获得超7个赞

GROUP BY DATE_FORMAT(record_date, '%Y%m')

(主要是潜在的选民)。目前,这可能不如其他建议有效。尽管如此,我还是把它作为一种选择,也是一种,它可以帮助我们看到其他解决方案的速度有多快。(因为直到你看到区别,你才能真正分辨出快慢。)而且,随着时间的推移,在优化方面可以对MySQL的引擎进行更改,以便使这个解决方案在将来的某些(也许不是很遥远的)点上与大多数其他解决方案的效率相当。


查看完整回答
反对 回复 2019-06-29
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

我尝试使用上面的“WHERE”语句,我认为它是正确的,因为没有人纠正它,但我错了;经过一些搜索后,我发现这是WHERE语句的正确公式,因此代码如下所示:

SELECT COUNT(id)  FROM stats  
WHERE YEAR(record_date) = 2009  GROUP BY MONTH(record_date)


查看完整回答
反对 回复 2019-06-29
  • 3 回答
  • 0 关注
  • 699 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信