2010-05-06 26 views
2

我怎样可以查询我的MySQL数据库,并获取其张贴在3天前查询MySQL表,并获取行张贴在3天内

我知道如何获取今天的排又一排,但不是3天前

时间将我的表中保存这样的:

2010-01-20 19:17:49 

,这是我知道的:

SELECT id FROM pages WHERE date=now() 

,但我需要证明职位3天

和即时寻找一个简单而直接的解决方案,因为我知道如何在PHP长码这么做

回答

3

为了得到记录三天过去长达当前时间:

SELECT t.id 
    FROM PAGES t 
WHERE t.date BETWEEN DATE_SUB(NOW(), INTERVAL 3 DAY) AND NOW() 
+0

我一直发现这种风格在MySQL中更容易阅读: WHERE t.date> NOW() - INTERVAL 3 DAY – AvatarKava 2010-05-06 05:14:23

+0

我认为你的答案有用,谢谢 – 2010-05-06 05:24:38

0

将有助于知道你是什么版本的MySQL使用和我们正在讨论的列类型,但这里是5.1的日期和时间函数的参考。您可能需要DATE_SUB()

1

这应该后选择带有日期值的所有条目,包括前3天:

Select id From pages Where NOW() >= Interval date day + 3 

注意,如果有未来的日期,这也将选择他们。