SELECT DECODE(MIN(MIN(GROUP_CODE)), 1, MIN(MAX(GROUP_CODE)) + 1, 1) GROUP_CODE
FROM (SELECT GROUP_CODE,
GROUP_CODE - ROW_NUMBER() OVER(ORDER BY GROUP_CODE) DIFF
FROM I5105
WHERE GROUP_CODE BETWEEN 2 AND 999999)
GROUP BY DIFF当表没有数据时,得到结果为
GROUP_CODE
1
问题是:GROUP_CODE BETWEEN 2 AND 999999不起作用
我想得到结果为
GROUP_CODE
3
怎么改SQL,谢谢了!
FROM (SELECT GROUP_CODE,
GROUP_CODE - ROW_NUMBER() OVER(ORDER BY GROUP_CODE) DIFF
FROM I5105
WHERE GROUP_CODE BETWEEN 2 AND 999999)
GROUP BY DIFF当表没有数据时,得到结果为
GROUP_CODE
1
问题是:GROUP_CODE BETWEEN 2 AND 999999不起作用
我想得到结果为
GROUP_CODE
3
怎么改SQL,谢谢了!
BETWEEN 0 AND 999999时,
GROUP_CODE
1
BETWEEN 2 AND 999999时,
GROUP_CODE
3
取最小的不连续编号,谢谢
DECODE(MIN(MIN(GROUP_CODE)), 1, MIN(MAX(GROUP_CODE)) + 1, 10000)
SELECT DECODE(MIN(MIN(GROUP_CODE)), 1, MIN(MAX(GROUP_CODE)) + 1, 3) GROUP_CODE
FROM (SELECT GROUP_CODE,
GROUP_CODE - ROW_NUMBER() OVER(ORDER BY GROUP_CODE) DIFF
FROM I5105
WHERE GROUP_CODE BETWEEN 2 AND 999999)
GROUP BY DIFF
如果有数据:1、3、7、10、11
我想
设定从1到100取最小的不连续数值GROUP_CODE为2;
设定从3到100取最小的不连续数值GROUP_CODE为4;
select nvl(MIN(GROUP_CODE), 0) + 1
FROM (SELECT GROUP_CODE,
GROUP_CODE - ROW_NUMBER() OVER(ORDER BY GROUP_CODE) DIFF
FROM I5105)
WHERE GROUP_CODE BETWEEN N AND 999999