我有一个地址可以有多个行程的数据,如下所示:

我想把地址除以每一次旅程(“旅程的开始”到“旅程的结束”,中间的所有“旅程的一部分”构成一次旅程),并将成本相加,这样每个地址就可以根据旅程的次数有多行,如下所示:

我只是不知道我需要用什么逻辑来解决这个问题。任何帮助或指示都将不胜感激。
发布于 2019-04-30 13:28:40
使用正在运行的sum将行标记为组,每当遇到给定地址的Start of Journey行时,就启动一个新的数字。然后用它分组,得到总成本。
select address,sum(cost)
from (select t.*
--Replace OrderCol with a column that specifies row order
,sum(case when journey='Start of Journey' then 1 else 0 end) over(partition by address order by OrderCol) as grp
from tbl
) t
group by address,grphttps://stackoverflow.com/questions/55921909
复制相似问题