Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何从两个按查询分组的列中划分两个求和列?_Mysql - Fatal编程技术网

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

Mysql 如何从两个按查询分组的列中划分两个求和列?,mysql,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, 
    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 )

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

如果需要平均数,请使用
AVG()


注意:您不应该按小时分组而不带日期——除非您希望合并不同日期的小时。这似乎不太可能,因为您选择的是整个日期。

编辑您的问题并提供示例数据
SUM(id)
看起来真的很可疑。我不得不更改一点示例的代码,确实是
count(id)
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 );