如何动态拉出MYSQL日期查询?

时间:2015-06-05 17:18:12

标签: mysql date dynamic

我正在尝试从两个时段(过去30天和过去30天)中选择数据 所以两个30天的时间。

我过去30天的时间过去了:

SELECT ProductID, ProductIDintarget,date_format(Date,'%m/%d/%Y'),SUM(Rev)
FROM datatable
WHERE Date BETWEEN CURDATE()-1 - INTERVAL 31 DAY AND CURDATE()
GROUP BY ProductIDintarget

这样做很好,但现在我很难努力获得前30天的时间。

我尝试将WHERE语句更改为:

WHERE Date BETWEEN CURDATE()-32 - INTERVAL 31 DAY AND CURDATE()-32

但没有运气..

1 个答案:

答案 0 :(得分:1)

您可以像这样使用DATE_ADD()DATE_SUB()

SELECT 
  ProductID, 
  ProductIDintarget,
  DATE_FORMAT(Date,'%m/%d/%Y'),
  SUM(Rev)
FROM datatable
WHERE `Date` < (DATE_ADD(CURDATE(), INTERVAL 1 MONTH))
AND `Date` > (DATE_SUB(CURDATE(), INTERVAL 2 MONTH))
GROUP BY 
  ProductID, 
  ProductIDintarget,
  `Date`

注意: - 如果您将关键字作为列名,则应该反击。