我有一些这样的数据:
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)