我试图列出每日高峰时段不同餐厅的每周平均客户数量,例如:
周|一天|小时|休息|自
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个
期望的结果应该是:
WeeK |休息|自
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;