如何从一个月前的数据库中获取值而忽略当前日期的某些天数?

How get values from database one month old ignoring certain days from current date?

SELECT user.username, offer.* FROM offer 
INNER JOIN user ON user.userid = offer.userid 
 WHERE offer.date BETWEEN
 (NOW() - INTERVAL 40 DAY) AND NOW()

这项工作很好。它以40天的时间间隔显示记录,以当前day/date为参考

问题:

我想获取 40 天或更长时间的记录,并以最近 40 天作为参考。

即它应该忽略当前日期的前 40 天并显示早于该日期的记录。

在这种情况下,您可以这样做:

SELECT user.username, offer.* FROM offer 
INNER JOIN user ON user.userid = offer.userid 
WHERE offer.date < (NOW() - INTERVAL 40 DAY)

你已经非常接近了 ;-)

SELECT user.username, offer.* FROM offer 
INNER JOIN user ON user.userid = offer.userid 
WHERE offer.date < (NOW() - INTERVAL 40 DAY) 

那么距离现在不到40天...

SELECT user.username, offer.* FROM offer 
INNER JOIN user ON user.userid = offer.userid 
WHERE offer.date < (NOW() - INTERVAL 40 DAY)