Sql 如何执行多组运算以获得总平均值?

Sql 如何执行多组运算以获得总平均值?,sql,postgresql,aggregate-functions,Sql,Postgresql,Aggregate Functions,我有下表 S.No Date,Time Block OccupancyActual OccupancyPercentage 1 1/1/2020,00:00 B1 300 40% 2 1/1/2020,01:00 B1 350 46.6% 3 1/1/

我有下表

S.No    Date,Time            Block        OccupancyActual        OccupancyPercentage
1       1/1/2020,00:00       B1           300                    40%    
2       1/1/2020,01:00       B1           350                    46.6%    
3       1/1/2020,02:00       B1           400                    53.3%    
4       1/1/2020,00:00       B2           200                    50%    
5       1/1/2020,01:00       B2           300                    75%    
6       1/1/2020,02:00       B2           350                    87.5%    
7       2/1/2020,00:00       B1           100                    13.3%    
8       2/1/2020,01:00       B1           200                    26.6%    
.
.
.
基本上,该表记录了每个街区(B1、B2、B3等)每小时的占用率(每天24个条目,但上面没有完全提到)

每行包含块的名称和当时块中的单元数,以及块的完整百分比([其中的块数/块的总容量])

每天整个场地的平均总占用率是每个街区(每个街区24个入口)的平均占用率之和,整个场地的总容量是每个街区总容量之和

你能帮我写一个PostgreSQL查询来获得每天院子的平均占用率吗?类似于

S.No    Date                 OccupancyTotalActual        OccupancyPercentage
1       1/1/2020             6000                        40%    
2       2/1/2020             5000                        33.3%    
3       3/1/2020             2500                        16.6%    
.
.
.

嗯。这个逻辑符合你的要求吗

select date_trunc(day, datetime),
       sum(OccupancyActual),
       sum(OccupancyActual) / sum(OccupancyActual / OccupancyPercentage) as OccupancyRatio
from t
group by date_trunc(day, datetime);

什么是“院子”?“每个街区的平均占用率之和”是什么?庭院是一个街区的集合,每个街区都有多个盒子。。在场的箱子构成了占用的一部分。。容量是块可以容纳的最大盒子数是的,它似乎给出了结果。。我还没有检查结果是否正确。。但是我不明白这是怎么计算的。。你能详细说明一下吗?那真的很有帮助。@codeworks。我觉得这个问题很清楚。这是一个聚合查询。您可能需要查看单独的结果表单
sum(职业实际)
sum(职业实际/职业实际)