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

标签 mysql datetime

所以我想要实现的是返回最近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/

相关文章:

mysql jing 结果有多个结果

python - 无法迁移 Django 应用程序 - MySQL 抛出 OperationalError "Too big scale specified"

MySQL 从一个表中选择特定日期的行,而不是在另一个表中选择行

python - 如何将 "0 days 00:09:06.633000000"对象转换为分钟/小时/秒?

c# - "String was not recognized as a valid DateTime"字符串格式 dd/MM/yyyy HH :mm

php/mysql 从 mysql 切换到 mysqli 或 pdo,可以逐步进行

mysql - 结合来自同一张表的连接和联合

python - 替换日期大于其他日期的 DateTime 列值

python Pandas : string to datetime

时钟守护者功能。程序 'works' 但值打印顺序错误?