MySQL:每月只接收数据

时间:2010-06-01 02:49:28

标签: mysql datetime date

很久以前,我问过如何每月显示数据,我必须说出一个不好的解释,因为我只知道这不是我想要的:

这是我得到的:

$req1 = ...
AND v.date > (DATE_SUB(CURDATE(), INTERVAL 2 MONTH))
AND v.date < (DATE_SUB(CURDATE(), INTERVAL 1 MONTH))

$req2= ...
AND v.date > (DATE_SUB(CURDATE(), INTERVAL 3 MONTH))
AND v.date < (DATE_SUB(CURDATE(), INTERVAL 2 MONTH))

但问题是,想象一下今天你是6月10日,它将计算所有数据之间的

  • 10月10日至10日
  • 然后10月可能到4月10日......

但我想要的是数据:

  • 从1月5日到6月1日,
  • 从6月1日到7月1日......

你明白我的意思吗?

3 个答案:

答案 0 :(得分:3)

您可以使用:

WHERE YEAR(date) = 2010 AND MONTH(date) = 5

获取日期在2010年和第五个月的所有行。

答案 1 :(得分:2)

AND MONTH(v.date)= 6 AND YEAR(v.date)= 2009 [获取2009年6月的所有内容]

答案 2 :(得分:0)

按月(v.date),年(v.date)从thetable group中选择月份(v.date),年份(v.date),sum(somedatacolumn);

用您正在进行的任何计算替换总和