13

したがって、過去24時間のクエリを取得するには、次のようなものを使用します

SELECT COUNT(*) AS cnt FROM `mytable` WHERE timestamp >= DATE_SUB(NOW(), INTERVAL 1 DAY)

ここで、timestampはタイムスタンプ付きのテーブルフィールドです。

しかし、どうすれば2日前から昨日までの間隔を取得できますか。それで

今日は24日です。22 ian(00:00 am)と23 ian(00:00 am)の間のクエリが必要です

4

5 に答える 5

28
WHERE timestamp BETWEEN 
        DATE_SUB(DATE(NOW()), INTERVAL 2 DAY)
         AND DATE_SUB(DATE(NOW()), INTERVAL 1 DAY) 
于 2013-01-24T09:18:28.127 に答える
5

DATE_ADDマイナスの間隔で試すこともできます;)

WHERE timestamp BETWEEN 
        DATE_ADD(DATE(NOW()), INTERVAL -2 DAY)
         AND DATE_ADD(DATE(NOW()), INTERVAL -1 DAY) 
于 2013-01-24T09:54:59.063 に答える
3

使用するInterval

WHERE `timestamp`
    BETWEEN DATE_SUB(NOW(), INTERVAL 2 DAY)
    AND DATE_SUB(NOW(), INTERVAL 1 DAY)
于 2013-01-24T09:19:32.017 に答える
2

1月22日(00:00 AM)から1月22日(11:59 PM)の間にクエリが必要な場合

where DATE(timestamp) = DATE_SUB(DATE(now()), INTERVAL  2 day);

例:timestamp = 2020-02-24 12:07:19およびDate(timestamp)は2020-02-24であり、now()出力は現在の日付と時刻を使用した場合DATE(now())、出力はDateのみです。

DATE_SUB(DATE(now()), INTERVAL  2 day)

2日前になります。

于 2020-02-27T06:47:16.477 に答える
1

BETWEEN::を試してください

SELECT 
COUNT(*) AS cnt 

FROM `mytable` 

WHERE timestamp BETWEEN DATE_SUB(NOW(), INTERVAL 2 DAY) and DATE_SUB(NOW(), INTERVAL 1 DAY)
于 2013-01-24T09:20:47.380 に答える