无法过滤过去 30 天的 SQL 数据

Adhithyan VN

我想从 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 BYbeforeWHERE语句,这不是正确的 SQL 顺序。

至于为什么第三个代码不起作用,我不确定,但如果我不得不猜测,它与那DATE_SUB句话有关。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章