我尝试选择每篇文章'昨天'的文章 - 就像昨天我写的那样......
mysql表art:id int,date datetime,text text ...
SELECT
art.id, art.text, art.date
FROM art
WHERE
date(art.date)=curdate() -interval 1 day
效果很好,但不适合最古老的文章(不是每天都有,增量 - 间隔1 ... 2 ... 3 ..日不是解决方案
date(art.date)-interval 1 day
返回文章的正确日期 但是
WHERE
date(art.date)=date(art.date)-interval 1 day
不要返回任何行 可以使用这样的结构吗?这是我的错?多大 ? :)
我刚刚做了解决方法,但我很喜欢“只有mysql”解决方案。
答案 0 :(得分:0)
以下是我对这个问题的理解。对于任何给定日期,您需要上一个日期中有文章的文章。
SELECT art.id, art.text, art.date
FROM art join
(select max(art.date) as yestdate
from art
where art.date <= curdate() -interval 1 day
) const
WHERE date(art.date) = yestdate;