用sql查询dateTime字段处于当前时间最近的二十四小时并按小时分组
假设dateTime字段的数据类型为datetime,可以使用以下SQL查询:
SELECT DATE_FORMAT(dateTime, '%Y-%m-%d %H:00:00') AS hour, COUNT(*) AS count FROM table_name WHERE dateTime >= DATE_SUB(NOW(), INTERVAL 24 HOUR) GROUP BY DATE_FORMAT(dateTime, '%Y-%m-%d %H:00:00') ORDER BY hour ASC;
解释一下:
- DATE_FORMAT(dateTime, '%Y-%m-%d %H:00:00')将dateTime字段的时间部分格式化为小时,并将结果命名为“hour”。
- COUNT(*)统计每个小时内的记录数,并将结果命名为“count”。
- WHERE dateTime >= DATE_SUB(NOW(), INTERVAL 24 HOUR)筛选出dateTime字段在当前时间最近的24小时内的记录。
- GROUP BY DATE_FORMAT(dateTime, '%Y-%m-%d %H:00:00')按小时分组。
- ORDER BY hour ASC按小时升序排序。
原文地址: https://www.cveoy.top/t/topic/biEA 著作权归作者所有。请勿转载和采集!