所以我想要实现的是返回最近3个月内的数据。 我当前的 MySQL 查询如下:
从预约中选择 MONTH(service_date_time) AS 月份,SUM(service_price) AS 总计,其中 user_id = 1 AND service_date_time >= last_day(now()) + INTERVAL 1 天 - INTERVAL 3 个月 GROUP BY YEAR(service_date_time) ,月(服务日期时间)
我的餐 table 预约包含一月和五月的数据,service_date_time
是一个 date_time
字段。
我遇到的问题是它返回 2 行,一行总计 1 月份的价格,一行总计 5 月份的价格。不应返回 5 月的行,因为它不在过去三个月内。
有人知道为什么吗?
最佳答案
您正在请求大于给定日期的所有记录,如果您想要到目前为止的所有记录,则必须请求一个范围,例如:
WHERE service_date_time BETWEEN (LAST_DAY(NOW()) + INTERVAL 1 DAY - INTERVAL 3 MONTH) AND NOW()
这会限制记录并为您提供从 3 个月前到现在的记录
关于mysql - 返回 3 个月内的所有记录 (MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49494581/