gpt4 book ai didi

sql - 用排名合并行

转载 作者:行者123 更新时间:2023-12-04 10:10:04 24 4
gpt4 key购买 nike

当前的:

Current

当 RNK 为 1 时,如图所示合并 ID,否则,如果 RNK 为 0,则保持原样。

请帮助如何做。

必需的:

Required

最佳答案

这是一个缺口和孤岛问题。然而,当rnk = 1时,你真的只关心岛屿。 .因此,计算它们的便捷方法是 rnk = 0 的累积和。 .然后剩下的就是聚合和组合 id:

select (case when min(id) = max(id) then min(id)
else min(id) || '-' || max(id)
end) as id,
rnk
from (select t.*, sum(1 - rnk) over (order by id) as grp
from t
) t
group by grp, rnk
order by min(id);

Here是一个db<> fiddle 。

关于sql - 用排名合并行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61375332/

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