思路:
1.可以通過connect by level方法查詢出所有1000-最大編號之間的所有編號
2.通過oracle關聯查詢出所有不存在的編號
3.查詢前n條編碼返回到後台使用即可
select a.ln
from (
select tmp1.ln
from (select level ln
from (select max(to_number(jw_bus.bus_no)) count_num
from jw_bus
where to_number(jw_bus.bus_no) > 1000)
connect by level <= count_num) tmp1,
jw_bus tmp2
where tmp1.ln = tmp2.bus_no(+)
and tmp2.bus_no is null
and tmp1.ln > 1000
and not exists
(select 1 from batch_jw_bus_detail where batch_jw_bus_detail.bus_no = tmp1.ln)
order by tmp1.ln
) awhere rownum <= 10
怎麼查詢SQL中連續編號中間的斷號
思路給你 1 找到你的表中的 連續編號的 最小值。2 找到你的表中的 連續編號的 最大值。3 產生乙個臨時表,它的乙個字段最小值到最大值連續產生記錄。4 找到臨時表中的 那個欄位中 的 記錄 不在 你的表中 的 連續編號 中存在的所有記錄。初參條件 針對物件表 ls bas1資料庫裡的 ta1 表 ...
資料庫生成連續編號 前幾位為零
下面的 生成長度為8的編號,編號以bh開頭,其餘6位為流水號。得到新編號的函式 create function f nextbh returns char 8 asbegin return select bh right 1000001 isnull right max bh 6 0 6 from ...
找出連續數字中缺失的數字
今天有乙個業務上的問題,那就是在一串連續的數字中找出缺失的數字,我第一想到的就是借助hashmap去實現。如下 int array new int hashtablehasht new hashtable for int i 0 i array.length 1 i for int i 1 i ar...