所以我想要实现的是从过去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_time
是date_time
字段。
我遇到的问题是它返回2行,一行总计1月的价格,一行总计5月的价格。 5月的行不应该返回,因为它不在过去的三个月内。
任何人都知道为什么?
答案 0 :(得分:1)
您要求所有大于给定日期的记录,如果您想要到目前为止所有记录,您将不得不要求范围,例如:
WHERE service_date_time BETWEEN (LAST_DAY(NOW()) + INTERVAL 1 DAY - INTERVAL 3 MONTH) AND NOW()
这将限制记录和从3个月前到现在给你