gpt4 book ai didi

sql - postgresql中列的条件总和

转载 作者:行者123 更新时间:2023-11-29 14:34:05 24 4
gpt4 key购买 nike

地铁数据列:

  1. Station_id (1,2,3,4,5,6,7,8,1,2,3,4,5,1,2,3,4,5,6,7,1,2,3 )
  2. 上车人数
  3. 下船人数
  4. 入住率

本站载客量=上一站已上车人数+上车人数-下车人数

我正在尝试填写占用栏。问题是数据集是针对多列地铁的,因此 station_id 变回 1,并且在该车站下车的人数始终为 0,因为它是火车旅程的起点。我不知道如何在 postgresql 中执行此操作。下图示例中的占用栏为空,需要填写

火车行程已分类和分组。 enter image description here

最佳答案

您可以使用累积和的差来执行此操作。诀窍是识别组,我将通过计算 station_id 一直是 1 的次数来确定该记录。

select s.*,
(sum(boarded) over (partition by grp order by id) -
sum(deboarded) over (partition by grp order by id)
) as occupants
from (select s.*,
count(*) filter (where station_id = 1) over (order by id) as grp
from subwaydata s
) s;

关于sql - postgresql中列的条件总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47582741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com