2017-04-06 54 views
0

我有以下查詢:如何從兩個分組查詢中劃分兩個總計列?

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

編輯您的問題並提供樣本數據。 SUM(id)'看起來很可疑。 –

+0

我不得不改變這個例子的代碼,確實是'count(id)' –

回答

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

注意:您不應該按小時無日期分組 - 除非你想時間從不同天相結合。這似乎不太可能,因爲你正在選擇整個日期。