gpt4 book ai didi

postgresql 按与上一行的差异分组

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

我有一些排序值(称为点),必须根据它们与前一行的差异将它们组合在一起,如下例所示。

在此示例中,当点与前一个点的差异大于 10 时,将开始一个新组。

point   group
1 1
2 1
3 1
101 2
103 2
105 2
213 3
214 3
215 3

使用 lag 窗口函数,我可以计算点之间的差异,但我缺少构建组的部分,如上例所示。

感谢任何帮助,谢谢!

最佳答案

select point, sum(inc) over (order by point)+1 as group
from (
select point,
(case when point-lag(point,1) over (order by point) > 1 then 1 else 0 end) inc
from whatevertable
) base
order by point

可能有一种方法可以不用子选择,但这是我想到的。

关于postgresql 按与上一行的差异分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39534693/

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