[英]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');
我在這里做錯了什么?
嘗試這個:
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.