每月查询每个日期

时间:2017-09-30 00:00:34

标签: mysql

例如:2017-08-29和2017-09-29之间 我怎么每个月都这样做,而不是通过定义具体的日期

最终我的目标是看起来像这样

SELECT MONTH, SUM(SALES)
FROM STATUS
WHERE DATE BETWEEN 2017-"MONTH"-29 AND 2017-"MONTH"-29

1 个答案:

答案 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)