假设大家有一个表格,记录了一天中某个商品的浏览量:
CREATE TABLE `view_count` ( `id` int(11) NOT NULL AUTO_INCREMENT, `view_time` datetime NOT NULL, `product_id` int(11) NOT NULL, `count` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
其中view_time
字段存储的是浏览时间,product_id
字段存储的是商品的ID,count
字段存储的是该时段内的浏览量。
为了按小时统计浏览量,大家可以使用DATE_FORMAT()
函数将日期时间格式化成小时,并根据格式化后的结果进行分组计算:
SELECT DATE_FORMAT(view_time, '%Y-%m-%d %H:00') AS hour, SUM(count) AS total_count FROM view_count GROUP BY hour
在SELECT
语句中,大家使用DATE_FORMAT()
函数将view_time
格式化成“年-月-日 小时”的形式,得到一个新的字段hour
。接着,使用SUM()
函数对count
列进行求和,得到该小时内的总浏览量。最后,根据hour
字段进行分组,得到每小时的统计结果。
以上就是按小时统计MySQL分组的简单方法,可以根据实际需求进行适当的调整。