例如:2017-08-29和2017-09-29之间 我怎么每个月都这样做,而不是通过定义具体的日期
最终我的目标是看起来像这样
SELECT MONTH, SUM(SALES)
FROM STATUS
WHERE DATE BETWEEN 2017-"MONTH"-29 AND 2017-"MONTH"-29
答案 0 :(得分:2)
当月:
SELECT MONTH, SUM(SALES)
FROM STATUS
WHERE DATE > LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))
AND DATE < DATE_ADD(LAST_DAY(CURDATE()), INTERVAL 1 DAY)
上个月:
SELECT MONTH, SUM(SALES)
FROM STATUS
WHERE DATE > LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 2 MONTH))
AND DATE < DATE_ADD(LAST_DAY(CURDATE() - INTERVAL 1 MONTH), INTERVAL 1 DAY)