我想從 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');
我在這里做錯了什么?

uj5u.com熱心網友回復:
試試這個:
SELECT country, COUNT(*)
FROM data_able
WHERE dtime > DATE_ADD(CURDATE(), INTERVAL -30 DAY)
GROUP BY country
第二個不起作用,因為您放置了GROUP BYbeforeWHERE陳述句,這不是正確的 SQL 順序。
至于為什么第三個代碼不起作用,我不確定,但如果我不得不猜測,它與那DATE_SUB句話有關。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/467580.html
上一篇:進行MySQLCOUNT查詢
下一篇:使用libnet.lingala.zip4j時,JavafxGradle使例外org.gradle.process.internal.ExecException以非零退出值1結束
