返回3个月内的所有记录(MySQL)

时间:2018-03-26 14:59:44

标签: mysql datetime

所以我想要实现的是从过去3个月内返回数据。 我当前的MySQL查询如下:

SELECT MONTH(service_date_time) AS month, SUM(service_price) AS total FROM appointments WHERE user_id = 1 AND service_date_time >= last_day(now()) + INTERVAL 1 day - INTERVAL 3 month GROUP BY YEAR(service_date_time), MONTH(service_date_time)

我的约会表包含1月和5月的数据,service_date_timedate_time字段。

我遇到的问题是它返回2行,一行总计1月的价格,一行总计5月的价格。 5月的行不应该返回,因为它不在过去的三个月内。

任何人都知道为什么?

1 个答案:

答案 0 :(得分:1)

您要求所有大于给定日期的记录,如果您想要到目前为止所有记录,您将不得不要求范围,例如:

WHERE service_date_time BETWEEN (LAST_DAY(NOW()) + INTERVAL 1 DAY - INTERVAL 3 MONTH) AND NOW()

这将限制记录和从3个月前到现在给你