34,838
社区成员




USE tempdb
GO
IF OBJECT_ID('dbo.NumSeq','U') IS NOT NULL
DROP TABLE dbo.NumSeq;
CREATE TABLE dbo.NumSeq(
seqval INT NOT NULL CONSTRAINT Pk_NumSeq PRIMARY KEY
);
INSERT INTO dbo.NumSeq(seqval) VALUES
(2),(3),(11),(12),(13),(27),(33),(34),(35),(42);
SELECT seqval
FROM dbo.NumSeq AS a
WHERE NOT EXISTS (
SELECT *
FROM dbo.NumSeq AS b
WHERE b.seqval = a.seqval + 1
)
DROP TABLE NumSeq;
2 3 2(聚集索引扫描到Seqval=3的这一行就结束了)
3 4 3(聚集索引扫描到Seqval=11的这一行就结束了)
11 12 4(...)
12 13 5
13 14 6
27 28 7
33 34 8
34 35 9
35 36 10
42 43 10
2 3 2(聚集索引扫描到Seqval=3的这一行就结束了)
3 4 3(聚集索引扫描到Seqval=11的这一行就结束了)
11 12 4(...)
12 13 5
13 14 6
27 28 7
33 34 8
34 35 9
35 36 10
42 43 10