【发布时间】:2012-10-06 19:01:23
【问题描述】:
我被这个 SQL 问题困住了。
我有一列是起点列表 (prevdoc),还有一列是在起点之后需要多少个序号 (exdiff)。
例如,这里是前几行:
prevdoc | exdiff
----------------
1 | 3
21 | 2
126 | 2
所以我需要一个看起来像这样的输出:
2
3
4
22
23
127
128
我什至不知道从哪里开始。谁能告诉我这个解决方案的 SQL 代码?
谢谢!
【问题讨论】:
-
如果1是起点,为什么输出从2开始?
-
好问题。我非常感兴趣人们能想出什么。 SQL 对集合(即整数集合)进行操作,因此人们会假设存在比 Gordon 提出的更简单的解决方案。
-
@EvilTeach:我认为这一点回答了你的问题:'列列出了我在之后需要多少个序列号(
exdiff)'(重点是我的)。
标签: sql range sequence sequential gaps-and-islands