我想通过记住将被跳过并应包含在第二天的日子来获取上个月同一天的记录。
例如3 月 31 日,2 月 31 日不存在,所以它应该跳过查询,而且如果我想在 4 月 30 日获取记录,它将根据需要给出结果,但是在 5 月 1 日,3 月 31 日将被跳过。
目前,我正在使用
SELECT * FROM registrations WHERE orderdate = DATE_SUB(CURDATE(), INTERVAL 1 month)
如何在 mysql 查询中解决这个问题?
抱歉,如果我无法表达我的疑问。
最佳答案
考虑以下逻辑,它仅在减去一个月不导致较早日期的值时才保留记录:
SELECT *
FROM registrations
WHERE
orderdate = DATE_SUB(CURDATE(), INTERVAL 1 month) AND
DAY(orderdate) = DAY(DATE_SUB(CURDATE(), INTERVAL 1 month));
关于MySql 获取上个月同一天的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56895539/