我正在尝试筛选过去24小时内每小时找到的行数。
我正在使用下面的SQL查询,“landtime”是一个DateTime字段。
SELECT HOUR(landtime) as hour, COUNT(*) as total FROM ord_log WHERE landtime > DATE_SUB(NOW(), INTERVAL 24 HOUR) GROUP BY HOUR(landtime) ORDER BY HOUR(landtime)
样本数据集>http://pastebin.com/0rYBnePG
结果看起来和预期的一样,直到我查看了它使用的数据。
它从今天日期之前的几天/几周中提取日期,而我只想要过去24小时的计数。
感谢任何帮助!
最佳答案
无需使用函数,只需使用简单的数学:
SELECT HOUR(landtime) as hour, COUNT(*) as total FROM ord_log WHERE landtime > (CURRENT_TIMESTAMP - INTERVAL 1 DAY) GROUP BY HOUR(landtime) ORDER BY HOUR(landtime)
关于php - 在过去24小时内按时间戳过滤结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8437988/