我想在列中具有公共值的SUM行,然后根据另一列中的另一个公共值取平均值。
例如:
我想提及每周和每班的工人数量。 (所以班次1111第1周应该有15名工人,第2周应该有14名工人。)然后我想要每个班次的所有周的平均工人数。 (对于班次1111,平均14和15是14.5)
结果应该是:
有人可以帮我解决SQL吗?
答案 0 :(得分:0)
select
shift, avg(num_workers) avg_workers
from
(
select
shift, week_number, sum(current_workers) num_workers
from
work_sheet t
group by
shift, week_number
)
group by
shift
我认为这也等同于:
select
shift, sum(current_workers)/count(distinct week_number) avg_workers
from
work_sheet t
group by
shift