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

How to perform multiple group to get the total average?

我有以下 table,

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%    
.
.
.

基本上这个 table 捕获每个块(B1、B2、B3 等)每小时的占用情况(每天 24 个条目,但上面没有完全提到)。

每行包含区块的名称和当时区块中的单元数,以及区块的满百分比([it/total 区块容量中的区块数量] 作为 % )

每天整个院子的平均总占用率是每个区块(每个区块24个入口)的平均占用率与总容量之和整个院子是每个街区总容量的总和。

你能帮我写一个 postgre sql 查询来获取院子每天的平均入住率吗?类似于,

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);