2011-12-22 11 views
0

私は過去24時間のいくつかの結果のみをフィルタリングしようとしています。タイムカラムにタイムスタンプがあり、これを思いついたのですが、最後の24時間はフィルタリングされず、すべてが表示されます。最後の24時間のフィルタSQLクエリ

このクエリを過去24時間にわたって動作させる方法を知っている人はいますか?これは、グループ化などのために正しく動作し、ちょうど最後の24時間ではありません。ありがとう。

編集:ここでは

が働くことになったものですし、私は誰もが今までこの出くわすと同じことを行うために探している場合で動作するように見つけた唯一の解決策。あなたがNOW>時間たい24のインフロント -

SELECT site_id, time, COUNT(*) AS site_num FROM url_visits WHERE time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 DAY)) GROUP BY site_id ORDER by COUNT(*) DESC 
+3

変更すると、「<' to '>」に変更すると、24時間より古いすべての場所が選択されます。 –

+0

'時間'は 'DATE_SUB(NOW()、INTERVAL 24 HOUR)' –

+0

よりも大きくなければならないと思う>しかし、すべてが空白になり、何も表示されません。 – chris

答えて

0

を言うが、私が働いていただけのものを使用してしまったものです。これは誰か他の人を助けることを望んだ。

SELECT site_id, time, COUNT(*) AS site_num FROM url_visits WHERE time > UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 DAY)) GROUP BY site_id ORDER by COUNT(*) DESC 
1

time > DATE_SUB(NOW(), INTERVAL 24 HOUR) 

ではなく

time < DATE_SUB(NOW(), INTERVAL 24 HOUR) 
+0

それは何をしようとしているthatsしかし、それは何も表示されないようです。私はその時私のコードだと思います。 – chris

+0

クエリを直接テストして、クエリに一致するデータがあるかどうかを確認してください。 – Alfabravo

0
$last_day = "SELECT site_id, time, COUNT(*) AS site_num FROM url_visits WHERE time > DATE_SUB(NOW(), INTERVAL 24 HOUR) GROUP BY site_id ORDER by COUNT(*) DESC"; 

を使用してみてくださいは、比較を変更

+0

私はそれを試みましたが、何も表示されません。 – chris

+0

'時間'のデータタイプは何ですか? – Shameer

0

を置きます - 24時間+ 24時間ではありません。 DATE_SUB(NOW(), INTERVAL -24 HOUR)

ORあなたの時間に24時間を追加する必要があり、ここで今<時間+ 24時間

関連する問題