【发布时间】:2016-06-13 14:06:07
【问题描述】:
如果我有一个包含 n 行的整数列的表,并且想检查它们是否是连续的,我该怎么做?
DECLARE @Temp TABLE
(
IntegerValue INT,
Processed BIT
)
我有一个适用于 3 行的解决方案,但这是不可理解的,如果需求发生变化,那么查询也会发生变化(忽略我的总和在这种情况下不起作用的事实)。
@SumOfValues = (@FirstValue * @NumOfValues) + @NumOfValues
【问题讨论】:
-
“数字是连续的”对你来说意味着什么?您以某种方式假设您的行是有序的?
-
数字按数字顺序 1, 2, 3, 5, 66, 899, ... 插入到临时表中
-
那么如果源值是 1,2,3, 100,101,200 ... 会发生什么?你想
group连续行(IntegerValue)吗? -
否,如果值为 1,2,3,100,101,200,则这些数字不连续,应该无法通过测试。
标签: sql-server tsql