如何增加缺少的序号?
2008-09-18 08:54
169 查看
********************************************************************************
比如有下面数据
no id
1 a
2 b
4 d
我登陆的时候,先判断no,发现3不存在,就登陆到3去。如果3存在,那就取最大的4+1...
请问这个代码要怎么实现?
测试数据
CREATE TABLE T(NO NUMBER, ID VARCHAR2(10));
INSERT INTO T VALUES(1,'A');
INSERT INTO T VALUES(2,'B');
INSERT INTO T VALUES(6,'E');
INSERT INTO T VALUES(7,'F');
COMMIT;
SQL code :
给你个通用方法,如果存在空号,就把第一个空号取出,如果不存在就取最大的加1:
SELECT NVL(MAX(NO),0)+ 1 NO
FROM (SELECT NO, NO- ROW_NUMBER()OVER(ORDER BY NO) XFROM T)
WHERE X=
(SELECT MIN(X)
FROM (SELECT NO, NO- ROW_NUMBER()OVER(ORDER BY NO) XFROM T));
比如有下面数据
no id
1 a
2 b
4 d
我登陆的时候,先判断no,发现3不存在,就登陆到3去。如果3存在,那就取最大的4+1...
请问这个代码要怎么实现?
测试数据
CREATE TABLE T(NO NUMBER, ID VARCHAR2(10));
INSERT INTO T VALUES(1,'A');
INSERT INTO T VALUES(2,'B');
INSERT INTO T VALUES(6,'E');
INSERT INTO T VALUES(7,'F');
COMMIT;
SQL code :
给你个通用方法,如果存在空号,就把第一个空号取出,如果不存在就取最大的加1:
SELECT NVL(MAX(NO),0)+ 1 NO
FROM (SELECT NO, NO- ROW_NUMBER()OVER(ORDER BY NO) XFROM T)
WHERE X=
(SELECT MIN(X)
FROM (SELECT NO, NO- ROW_NUMBER()OVER(ORDER BY NO) XFROM T));
相关文章推荐
- 如何让SELECT 查询结果额外增加自动递增序号
- 如何让SELECT 查询结果额外增加自动递增序号
- 如何让SELECT 查询结果额外增加自动递增序号_SQL技巧
- 如何让SELECT 查询结果额外增加自动递增序号 如果数据表本身并不内含自动递增编号的字段时,要怎么做才能够让SELECT查询结果额外增加自动递增序号呢?下列五种方法供您参考: USE test;
- 如何让SELECT 查询结果额外增加自动递增序号
- 如何让SELECT 查询结果额外增加自动递增序号
- 如何让SELECT 查询结果额外增加自动递增序号 (转自章立民CnBlogs)
- 如何让SELECT 查询结果额外增加自动递增序号
- 请教v$mystat试图中,statistic#序号是如何增加的
- 如何在查询结果前增加一列序号
- 如何让SELECT 查询结果额外增加自动递增序号
- 如何让SELECT 查询结果额外增加自动递增序号
- 如何让SQL的SELECT 查询结果额外增加自动递增序号
- 如何让SELECT 查询结果额外增加自动递增序号
- 如何让SELECT 查询结果额外增加自动递增序号
- 如何为datagridview增加序号列
- 如何让SELECT 查询结果额外增加自动递增序号_SQL技巧
- 如何让SELECT 查询结果额外增加自动递增序号
- 如何让SELECT 查询结果额外增加自动递增序号
- 如何让SELECT 查询结果额外增加自动递增序号sqlserver