我想得到一个表中可以利用的最小的学号列的值。
表A中学号列是PK,varchar2(4),现在表中存在学号为0001,0002,0003,0005,0006,0008,。的记录。
就是说0004号和0007号都是可以利用的学号,我现在想select出0004这个号,应该怎么做呢,谢谢。
表A中学号列是PK,varchar2(4),现在表中存在学号为0001,0002,0003,0005,0006,0008,。的记录。
就是说0004号和0007号都是可以利用的学号,我现在想select出0004这个号,应该怎么做呢,谢谢。
SELECT B.ID
FROM (
SELECT LTRIM(TO_CHAR(ROWNUM,'0000')) AS ID,A.PK
FROM(
SELECT PK FROM TABLE ORDER BY PK) A
) B
WHERE B.ID <> B.PK AND ROWNUM = 1
from
(
select to_number(t.学号) 学号, to_number(lead(学号, 1, 0) OVER(ORDER BY 学号)) as ff from aaa t
) a
where
a.学号 != a.ff-1
and rownum=1
select to_number(pk) from table where 条件 order by to_number(pk))
where rownum=1;