我有以下查询:
SELECT
DATE_FORMAT(created_at,'%Y-%m-%d %H:00:00') date,
SUM(quantity) total
FROM request_items
GROUP BY HOUR( created_at )
它通过汇总一小时内的所有数量来生成报告。 所以我有这样的事情:
2017-04-01 00:00:00 | 10
2017-04-01 01:00:00 | 05
有了这个,我收到了请求:
SELECT
DATE_FORMAT(created_at,'%Y-%m-%d %H:00:00') date,
COUNT(id) total
FROM requests
GROUP BY HOUR( created_at )
原则是一样的,但现在我需要按要求列出的项目平均数量(项目数/请求数)按小时分组,我不知道该怎么做。
答案 0 :(得分:0)
如果您想要平均值,请使用AVG()
:
SELECT DATE_FORMAT(created_at, '%Y-%m-%d %H:00:00') as date,
AVG(quantity) as avg_quantity
FROM items
GROUP BY DATE(created_at), HOUR( created_at );
注意:除非您想要结合不同日期的小时数,否则不应按小时分组而不是日期。这似乎不太可能,因为你选择了整个日期。