2016-09-28 9 views
0

毎日のピーク時に異なるレストランの顧客の週平均を列挙する例を次に示します。SQLを使用した1週間の平均平均ピーク時間

週間|デイ|時間|レスト|カスタム
20 |月| 08-12 | KFC | 15
20 |月| 12-16 | KFC | 10
20 |月| 16-20 | KFC | 8
20 | Tue | 08-12 | KFC | 20
20 | Tue | 12-16 | KFC | 11
20 | Tue | 16-20 | KFC | 9
20 |月| 08-12 | MCD | 13
20 |月| 12-16 | MCD | 14
20 |月| 16-20 | MCD | 19
20 | Tue | 08-12 | MCD | 31
20 | Tue | 12-16 | MCD | 20
20 | Tue | 16-20 | MCD | 22
20 |月| 08-12 | | PHT | 15
20 |月| 12-16 | | PHT | 12
20 |月| 16-20 | | PHT | 11
20 | Tue | 08-12 | | PHT | 08
20 | Tue | 12-16 | | PHT | 07
20 | Tue | 16-20 | | PHT | 14

望ましい結果は次のようになります。

週|レスト|カスタム
20 | KFC | 17.5
20 | MCD | 25
20 | | PHT | 14.5

SQLの1行で実行できますか?

+0

「毎日のピーク時間」を定義してください。 –

答えて

0

これは本当に2つのステップです。レストラン1人当たりの最大人数を取得し、週あたりの平均値:

select week, rest, sum(maxc) 
from (select Week, Day, Rest, max(Custom) as maxc 
     from t 
     group by Week, Day, Rest 
    ) wdr 
group by week, rest;