如何从两个按查询分组的两个求和列中划分?

时间:2017-04-06 01:00:42

标签: mysql

我有以下查询:

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 )

原则是一样的,但现在我需要按要求列出的项目平均数量(项目数/请求数)按小时分组,我不知道该怎么做。

1 个答案:

答案 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 );

注意:除非您想要结合不同日期的小时数,否则不应按小时分组而不是日期。这似乎不太可能,因为你选择了整个日期。