0

昨日から最大 10 日間の以前のレコードを取得するスクリプトを作成しようとしていますが、実行できません。

と呼ばれるテーブルと、タイムスタンプであるuser_stats_clicksという名前の列がありますdsub

これが試したものです。

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

しかし、それはゼロの結果を返し続けます。

昨日から 10 日前までの記録を取得するにはどうすればよいですか?

4

4 に答える 4

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
于 2013-08-05T13:06:11.697 に答える
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に取り組んだばかりです。チェックしてください

于 2013-08-05T13:13:44.590 に答える
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
于 2013-08-05T13:15:24.703 に答える