|
|
1
1
不是最好的解决方案,但应该有效(例如,3个连续ID):
我建议Id是主键(或唯一键)。如果不是,您应该将每个子查询稍微更改为类似SELECT If(COUNT(1)>0,1,0) ..... |
|
|
2
2
连接到同一个表,其中table1.Id=table2.Id+1和table1.employeeid=table2.employeeid |
|
|
3
0
为此使用临时表。使用此解决方案:
编辑答案 请试试这个:
|
|
|
4
0
哇,这真是个脑筋急转弯。我肯定这有各种各样的漏洞,但这里有一个可能的解决方案。首先,我们的测试数据:
接下来,您需要一个包含数字序列的计数或数字表。我只在其中放入了500个元素,但考虑到数据的大小,您可能需要更多。理货表中的最大数字应大于recs表中的最大Id。
现在来看看实际的解决方案。基本上,我使用了一系列CTE来推断连续序列的起点和终点。
使用WHERE子句和@SequenceSize中的final语句,可以控制返回的序列。 |
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |