我想得到一个表中可以利用的最小的学号列的值。
表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这个号,应该怎么做呢,谢谢。
解决方案 »
- oracle存储过程
- java.lang.UnsatisfiedLinkError 错误
- orcale 无法新建用户~~~~急
- 触发器UPDATE 的时候 有简洁的方法没
- 请问ORACLE中,system,sys,root,sysdba,这4种用户的默认密码是什么,如果忘记了如何找到他们,我现在就忘记了,可我都不知道怎么找到。谢
- 看了3天的oracle,调试些小的sql语句,怎么感觉突然不知道下步该做什么拉,
- 触发器的问题
- 小弟出来混的时候遇到了个棘手的问题,谁来救急啊!
- 这个触发器要怎么写???
- 求推荐oracle书籍
- 无法修改与非键值保存表对应的列(怎么办?急)
- 求一条比较麻烦的Sql语句
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;