mysql选择记录大于3个月

时间:2010-05-04 14:24:00

标签: php sql mysql

我正在尝试编写一个查询来从users表中选择所有记录,其中User_DateCreated(日期时间字段)是> =从今天起3个月。

有什么想法吗?

3 个答案:

答案 0 :(得分:61)

SELECT  *
FROM    users
WHERE   user_datecreated >= NOW() - INTERVAL 3 MONTH

答案 1 :(得分:12)

如果要忽略创建用户的时间,可以使用以下方法。因此,如果您在下午2:00运行Quassnoi的示例查询,这将显示在上午8:00创建的人。

SELECT  *
FROM    users
WHERE   DATE(user_datecreated) >= DATE(NOW() - INTERVAL 3 MONTH)

答案 2 :(得分:2)

使用DATE(user_datecreated)可以防止mysql使用列上的任何索引,从而在表增长时使查询非常慢。

如果您从“3个月前”的日期删除时间,则不必忽略创建用户的时间,因为当天创建的所有用户都将与条件匹配。

SELECT  *
FROM    users
WHERE   user_datecreated >= DATE(NOW() - INTERVAL 3 MONTH);