簡體   English   中英

無法過濾過去 30 天的 SQL 數據

[英]Unable to filter SQL data from last 30 days

我想收集 SQL 最近 30 天的數據。 此代碼顯示所有時間的數據

$result = $dbh->query('SELECT country,COUNT(*) FROM data_able GROUP BY country');

這什么都不顯示,而不是顯示最近 30 天的數據。

$result = $dbh->query('SELECT country,COUNT(*) FROM data_able GROUP BY country WHERE dtime > DATE_SUB(CURDATE(), INTERVAL 30 DAY)');

所有 SQL 條目都是在過去 30 天內完成的。 也試過

$result = $dbh->query('SELECT country,COUNT(*) FROM data_able WHERE dtime > DATE_SUB(CURDATE(), INTERVAL 30 DAY) GROUP BY country');

我在這里做錯了什么?數據庫 dtime 部分

嘗試這個:

SELECT country, COUNT(*) 
FROM data_able 
WHERE dtime > DATE_ADD(CURDATE(), INTERVAL -30 DAY)
GROUP BY country 

第二個不起作用,因為您將GROUP BY放在WHERE語句之前,這是不正確的 SQL 順序。

至於為什么第三個代碼不起作用,我不確定,但如果我不得不猜測,它與那個DATE_SUB語句有關。

暫無
暫無

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

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