使用mysql的时间戳获取最近10天

时间:2013-08-05 13:02:30

标签: php mysql

我一直在尝试创建一个脚本,从昨天到10天获取以前的记录,但是不能这样做。

我有一个名为user_stats_clicks的表和一个名为dsub的列,这是一个timstamp

这是尝试过的。

SELECT * 
FROM  `user_stats_clicks` 
WHERE  `dsub` = CURRENT_DATE( ) - INTERVAL 1 
DAY ORDER BY  `user_stats_clicks`.`id` DESC 
LIMIT 0 , 30

但它继续返回零结果。

如何从昨天到10天前获取记录?

4 个答案:

答案 0 :(得分:0)

问题是你目前只指定了一半的日期范围。您还需要指定日期范围的开头,如下所示:

SELECT * FROM  `user_stats_clicks` 
WHERE  (`dsub` < CURRENT_DATE( ) - INTERVAL 1 DAY 
AND  `dsub` >= CURRENT_DATE( ) - INTERVAL 10 DAY) 
ORDER BY  `user_stats_clicks`.`id` DESC 
LIMIT 0 , 30

答案 1 :(得分:0)

您可以使用BETWEEN关键字:

SELECT * FROM  `user_stats_clicks` 
WHERE  (`dsub` BETWEEN CURDATE() - INTERVAL 11 DAY 
              AND CURDATE() - INTERVAL 1 DAY)
ORDER BY  `user_stats_clicks`.`id` DESC 
LIMIT 0 , 30

答案 2 :(得分:0)

试试这个

  SELECT * FROM  `user_stats_clicks` 
    WHERE  (`date` < CURRENT_DATE( ) - INTERVAL 1 DAY 
    AND  `date` >= CURRENT_DATE( ) - INTERVAL 10 DAY)
ORDER BY  `user_stats_clicks`.`id` DESC 
LIMIT 0 , 30

而且我刚刚在MYSQL FIDDLE上工作了吗

答案 3 :(得分:0)

请尝试以下查询:

SELECT * 
FROM  `user_stats_clicks` 
WHERE  `dsub` BETWEEN CURRENT_DATE() - INTERVAL 10 DAY AND CURRENT_DATE() 
DAY ORDER BY  `user_stats_clicks`.`id` DESC 
LIMIT 0 , 30