MySql从上个月的同一天获取行

时间:2019-07-05 01:26:51

标签: mysql

我希望牢记几天,以获取上个月同一天的记录,这些天将被跳过,应该在第二天包括在内。

例如3月31日不存在2月31日,因此它应该跳过查询,并且如果我想获取4月30日的记录,它将提供所需的结果,但是5月1日,3月31日将被跳过。 / p>

当前,我正在使用

SELECT * FROM registrations WHERE orderdate = DATE_SUB(CURDATE(), INTERVAL 1 month)

如何在mysql查询中解决此问题?

对不起,如果我无法传达我的查询。

1 个答案:

答案 0 :(得分:1)

请考虑以下逻辑,该逻辑仅在减去一个月没有 导致较早的日期值时才保留记录:

SELECT *
FROM registrations
WHERE
    orderdate = DATE_SUB(CURDATE(), INTERVAL 1 month) AND
    DAY(orderdate) = DAY(DATE_SUB(CURDATE(), INTERVAL 1 month));