A
1
2
3
5
6
8求一条SQL语句,找出第一个不在顺序中的数字,既找出4来。

解决方案 »

  1.   

    select min(num) from 
    (select t.字段,rownum num from 表 t) 
    where 字段!=num
      

  2.   

    SELECT *
      FROM A
     WHERE EXISTS (SELECT 'x'
              FROM (SELECT ROWNUM B FROM DUAL CONNECT BY ROWNUM < 8) B
             WHERE B.B = A.A);
      

  3.   

    错了
    SELECT *
      FROM A
     WHERE NOT EXISTS (SELECT 'x'
              FROM (SELECT ROWNUM B FROM DUAL CONNECT BY ROWNUM < 8) B
             WHERE B.B = A.A);
      

  4.   

    SELECT B.B
      FROM A, (SELECT ROWNUM B FROM DUAL CONNECT BY ROWNUM < 8) B
     WHERE A.A(+) = B.B
       AND A.A IS NULL;
    呵呵不好意思看错题了~ 这个是对的
      

  5.   

    SQL> select * from t1;        ID
    ----------
             1
             2
             3
             5
             7
             8
             9
            15已选择8行。SQL> select min(id)+1 from 
      2  (select id,lead(id,1,id) over(order by id)-id id1 from t1)
      3  where id1 not in (1,0); MIN(ID)+1
    ----------
             4