SQL查詢連續號碼段

2021-04-25 00:51:25 字數 967 閱讀 8504

--測試資料

create table stest

(fphm int,

kshm nvarchar(10)

)insert into stest

select 2014,'00000001'

union all

select 2014,'00000002'

union all

select 2014,'00000003'

union all

select 2014,'00000004'

union all

select 2014,'00000005'

union all

select 2014,'00000007'

union all

select 2014,'00000008'

union all

select 2014,'00000009'

union all

select 2013,'00000120'

union all

select 2013,'00000121'

union all

select 2013,'00000122'

union all

select 2013,'00000124'

union all

select 2013,'00000125'

--執行語句

select fphm,min(kshm),max(kshm)

from

(select fphm,kshm,cast(kshm as int)-cc as s

from

(select fphm,kshm,row_number() over(order by fphm) as cc

from stest

) xx

) b group by b.fphm,b.s

學習 SQL查詢連續號碼段的巧妙解法

在itpub上有一則非常巧妙的sql技巧 學習一下,記錄在這裡。最初的問題是這樣的 我有乙個表結構,fphm,kshm 2014,00000001 2014,00000002 2014,00000003 2014,00000004 2014,00000005 2014,00000007 2014,0...

SQL語句集錦 尋找連續號碼的斷號值

問題一 table t,列 serial no 我想能夠查詢一下serial no這個欄位的不連續的值。例如 serial no12 3468 910我想乙個sql語句查出來缺失的號碼,顯示結果為 57 解決方法 select ordered t2.serial no 1 min t3 serial...

SQL 連續記錄查詢

1 題目要求輸出的時連續三行的記錄,則可以選擇三張單錶進行自關聯,連線的要求即為id序號的遞增。連線方式為left join 如下圖即為無要求時的連線語句及結果 有圖可知,連線的每一行的 id 時從s1 到s2遞增1,再到s3遞增1。再因為連線的每一行即為代表連續的三行的記錄。根據題目要求,則要求p...