我一直在尝试创建一个脚本,从昨天到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天前获取记录?
答案 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