gpt4 book ai didi

sql - 按顺序数字分组

转载 作者:行者123 更新时间:2023-12-03 01:57:33 25 4
gpt4 key购买 nike

我有一些这样的数据:

row    id
1 1
2 36
3 37
4 38
5 50
6 51

我想查询它看起来像这样:

 row    id    group
1 1 1
2 36 2
3 37 2
4 38 2
5 50 3
6 51 3

...这样我就可以按连续顺序的数字进行分组。

此外,循环/游标也是不可能的,因为我正在处理相当大的数据集,谢谢。

最佳答案

;WITH firstrows AS
(
SELECT id, ROW_NUMBER() OVER (ORDER BY id) groupid
FROM Table1 a
WHERE id - 1 NOT IN (SELECT b.id FROM Table1 b)
)
SELECT id,
(
SELECT MAX(b.groupid)
FROM firstrows b
WHERE b.id <= a.id
) groupid
FROM Table1 a

关于sql - 按顺序数字分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6536780/

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