2016-09-28 77 views
0

我試圖列出每日高峯時段不同餐館的客戶每週平均值,例如:SQL選擇一週中的平均每日高峯時間

星期| Day |小時|休息|自定義
20 |週一| 08-12 |肯德基| 15
20 |週一| 12-16 |肯德基| 10
20 |週一| 16-20 |肯德基| 8
20 |星期二| 08-12 |肯德基| 20
20 |星期二| 12-16 |肯德基| 11
20 |星期二| 16-20 |肯德基| 9
20 |週一| 08-12 | MCD | 13
20 |週一| 12-16 | MCD | 14
20 |週一| 16-20 | MCD | 19
20 |星期二| 08-12 | MCD | 31
20 |星期二| 12-16 | MCD | 20
20 |星期二| 16-20 | MCD | 22
20 |週一| 08-12 | PHT | 15
20 |週一| 12-16 | PHT | 12
20 |週一| 16-20 | PHT | 11
20 |星期二| 08-12 | PHT | 08
20 |星期二| 12-16 | PHT | 07
20 |星期二| 16-20 | PHT | 14

期望的結果應該是:

周|休息|自定義
20 |肯德基| 17.5
20 | MCD | 25
20 | PHT | 14.5

是否可以在一行SQL中執行?

+0

請定義「每日高峯時段」。 –

回答

0

這實際上是兩個步驟。每餐廳每天獲得最高人數,然後每週平均:

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;