簡體   English   中英

篩選過去24小時的sql查詢

[英]filter sql query for last 24 hours

我正在嘗試僅過濾過去24小時的一些結果。 我在“時間”列中有時間戳記,並提出了該時間戳記,但是它在過去的24小時中沒有進行過濾,它顯示了所有內容。

$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";

有誰知道我如何才能使該查詢在最近24小時內正常工作? 它僅適用於分組等,而並非最近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

嘗試使用

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

而不是

time < DATE_SUB( NOW(), INTERVAL 24 HOUR)
$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";

更改了比較

將-置於24的前面。您想讓時間>現在-24小時。 不是+ 24小時。 DATE_SUB( NOW(), INTERVAL -24 HOUR)

或您需要將時間增加24小時,然后說<時間+ 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM