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

How to dynamically pull MYSQL date queries?

我正在尝试 select 来自两个时期(过去 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

但运气不好..

您可以像这样使用 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`

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