亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 數(shù)據(jù)庫(kù) > 文庫(kù) > 正文

SQL查詢(xún)連續(xù)號(hào)碼段的巧妙解法

2020-10-29 21:51:41
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

昨天在itpub看到這個(gè)帖子, 問(wèn)題覺(jué)得有意思,, 就仔細(xì)想了想. 也給出了一種解決辦法..:-)

問(wèn)題求助,請(qǐng)高手指點(diǎn)..

我有一個(gè)表結(jié)構(gòu),
fphm,kshm
2014,00000001
2014,00000002
2014,00000003
2014,00000004
2014,00000005
2014,00000007
2014,00000008
2014,00000009
2013,00000120
2013,00000121
2013,00000122
2013,00000124
2013,00000125

(第二個(gè)字段內(nèi)可能是連續(xù)的數(shù)據(jù),可能存在斷點(diǎn)。)

怎樣能查詢(xún)出來(lái)這樣的結(jié)果,查詢(xún)出連續(xù)的記錄來(lái)。

就像下面的這樣?

2014,00000001,00000005
2014,00000009,00000007
2013,00000120,00000122
2013,00000124,00000125

方法一: 引用自hmxxyy.

復(fù)制代碼 代碼如下:

SQL> select * from gap;

ID SEQ
---------- ----------
1 1
1 4
1 5
1 8
2 1
2 2
2 9

select res1.id, res2.seq str, res1.seq end
from (
select rownum rn, c.*
from (
select *
from gap a
where not exists (
select null from gap b where b.id = a.id and a.seq = b.seq - 1
)
order by id, seq
) c
) res1, (
select rownum rn, d.*
from (
select *
from gap a
where not exists (
select null from gap b where b.id = a.id and a.seq = b.seq + 1
)
order by id, seq
) d
) res2
where res1.id = res2.id
and res1.rn = res2.rn
/

ID STR END
--------- ---------- ----------
1 1 1
1 4 5
1 8 8
2 1 2
2 9 9

方法二: 使用lag/lead分析函數(shù)進(jìn)行處理.. 樓上的方法確實(shí)挺好用就是覺(jué)得表掃描/表連接比較多, 可能數(shù)據(jù)量大了. 速度會(huì)比較慢, 當(dāng)然我的這種方法由于使用分析函數(shù)使用的比較頻繁.所以排序量可能比上一種要多..

復(fù)制代碼 代碼如下:

SQL> select fphm,lpad(kshm,8,'0') kshm
  2  from t
  3  /

      FPHM KSHM                                                                
---------- ----------------                                                    
      2014 00000001                                                            
      2014 00000002                                                            
      2014 00000003                                                            
      2014 00000004                                                            
      2014 00000005                                                            
      2014 00000007                                                            
      2014 00000008                                                            
      2014 00000009                                                            
      2013 00000120                                                            
      2013 00000121                                                            
      2013 00000122                                                            

      FPHM KSHM                                                                
---------- ----------------                                                    
      2013 00000124                                                            
      2013 00000125                                                            

13 rows selected.

SQL> set echo on
SQL> @bbb.sql
SQL> select fphm,lpad(kshm,8,'0') start_kshm,lpad(prev_prev_kshm,8,'0') end_kshm
  2  from (
  3    select fphm,kshm,next_kshm,prev_kshm,
  4  lag(kshm,1,null) over (partition by fphm order by kshm )next_next_kshm,
  5  lead(kshm,1,null) over (partition by fphm order by kshm ) prev_prev_kshm
  6    from (
  7  select *
  8  from (
  9     select fphm,kshm,
10       lead(kshm,1,null) over (partition by fphm order by kshm) next_kshm,
11       lag(kshm,1,null) over (partition by fphm order by kshm) prev_kshm
12     from t
13  )
14  where ( next_kshm - kshm <> 1 or kshm - prev_kshm <> 1 )
15  or ( next_kshm is null or prev_kshm is null )
16    )
17  )
18  where next_kshm - kshm = 1
19  /

      FPHM START_KSHM       END_KSHM                                           
---------- ---------------- ----------------                                   
      2013 00000120         00000122                                           
      2013 00000124         00000125                                           
      2014 00000001         00000005                                           
      2014 00000007         00000009                                           

SQL> spool off

方法三: 今天早上wildflower給了我這個(gè)答案, 頓時(shí)覺(jué)得耳目一新啊..就貼出來(lái)與大家一起共享了^_^.


SQL> spool aaa.log
SQL> set echo on
SQL> select * from t;

no rows selected

SQL> select * from t;

      FPHM       KSHM
---------- ----------
      2014          1
      2014          2
      2014          3
      2014          4
      2014          5
      2014          7
      2014          8
      2014          9
      2013        120
      2013        121
      2013        122

      FPHM       KSHM
---------- ----------
      2013        124
      2013        125

13 rows selected.

SQL> @bbb.sql
SQL> select b.fphm,min(b.kshm),max(b.kshm)
  2  from (
  3          select a.*,to_number(a.kshm-rownum) cc
  4          from (
  5                  select * from t order by fphm,kshm
  6          ) a
  7  )  b
  8  group by b.fphm,b.cc
  9  /

      FPHM MIN(B.KSHM) MAX(B.KSHM)
---------- ----------- -----------
      2013         120         122
      2013         124         125
      2014           1           5
      2014           7           9

SQL>

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产一级做a爰片久久毛片男| 懂色av中文一区二区三区| 特大黑人娇小亚洲女mp4| 人人澡人人澡人人看| 99热6这里只有精品| 2018中文字幕在线| 久久久久久久久久久久av| 亚洲国产一区二区三区四区| 国产美女诱惑一区二区| 性欧美lx╳lx╳| 国产极品久久久| 在线播放一区二区精品产| 国产在线资源| 思思久久99热只有频精品66| 一本大道久久加勒比香蕉| 三妻四妾的电影电视剧在线观看| 欧美视频一区| 中文字幕亚洲一区在线观看| 大陆极品少妇内射aaaaaa| 日韩超碰人人爽人人做人人添| 高清国语自产拍免费一区二区三区| 国内成+人亚洲+欧美+综合在线| 狠狠躁夜夜躁人人爽天天天天97| 伊人久久大香伊蕉在人线观看热v| 午夜日韩视频| 日韩电影大全免费观看2023年上| 国产精品极品美女在线观看| 97视频精彩视频在线观看| 色135综合网| 中文字幕不卡三区视频| 99热在线观看免费| 希岛爱理中文字幕| 九九热精品视频在线观看| 蜜臀久久99精品久久一区二区| 欧洲亚洲视频| 午夜一区二区三视频在线观看| 色婷婷香蕉在线一区二区| 在线观看岛国片| 亚洲国产专区校园欧美| 国产成年人免费视频| 国产91丝袜在线播放0| 色94色欧美sute亚洲线路一久| 成人av网在线| 久久机热这里只有精品| 亚洲综合欧美色图| 色噜噜色狠狠狠狠狠综合色一| 日韩成人中文电影| 中出嫩模无套| 999久久久国产999久久久| 国产精品美女一区二区三区四区| 91免费版看片| 午夜不卡av在线| 国产精品一区二区午夜嘿嘿嘿小说| 精品欧美激情在线观看| 亚洲精品国产一区二区三区四区在线| 亚洲一二av| 亚洲国产综合人成综合网站| 日韩高清在线免费观看| 久久精品视频一区二区| 色哟哟中文字幕| 国产色婷婷亚洲99精品小说| 亚洲成人久久网| 亚洲伦理在线精品| 影音先锋黄色网址| 国产又黄又猛又粗| 日韩精品视频在线看| 欧美精品视频www在线观看| 91在线播放网址| 黑人玩弄人妻一区二区三区| 亚洲欧洲专区| 久久久国产成人精品| 99久久精品免费看| 中文字幕在线播放一区二区| 综合色一区二区| 日本猛少妇色xxxxx免费网站| 亚洲社区在线| 日韩一区精品视频| 亚洲资源在线看| 欧美 日韩 国产在线| 日韩欧美国产一区二区三区| 久久精品精品电影网| 成人羞羞网站入口| 国产成人aa在线观看网站站| **网站欧美大片在线观看| 波多野结衣影院| 日本在线视频一区二区三区| av电影在线播放| 亚洲国产精品久久久久蝴蝶传媒| 色婷婷综合在线| 天堂www在线а√天堂| 亚洲肉体裸体xxxx137| 日本91福利区| 久草.com| 亚洲第一精品久久忘忧草社区| 久久青草精品视频免费观看| 国产极品久久久久久久久波多结野| 亚洲精品第一国产综合野草社区| 国产丝袜一区二区三区免费视频| 国产麻豆9l精品三级站| 久做在线视频免费观看| 日韩女优电影在线观看| 无需播放器亚洲| 91玉足脚交嫩脚丫在线播放| 九色视频在线播放| 中文字幕另类日韩欧美亚洲嫩草| 国产精品久久久久久久久果冻传媒| 日本不卡三区| 亚洲蜜桃在线| 隣の若妻さん波多野结衣| 国产野外战在线播放| 欧美视频日韩视频| 欧美日韩国产高清一区二区| 91社区国产高清| 九色porny视频在线观看| 成人免费福利在线| 日韩免费高清一区二区| 欧美天堂在线视频| 四虎影视亚洲| 欧美久久久久久久久中文字幕| 国产精品91在线观看| 在线观看免费av片| 亚洲香蕉av在线一区二区三区| 蜜桃精品视频在线观看| 国产女人18水真多18精品一级做| 婷婷av在线| 欧美黑人疯狂性受xxxxx喷水| 亚洲成人精品| 国产一区二区在线观看免费视频| 欧美亚洲高清| 亚洲精品动漫久久久久| eeuss网址直达入口| 电影一区二区三区| 偷拍视频一区二区三区| 老司机精品福利视频| 一区二区视频在线播放| 国产成人无码a区在线观看视频| 国产人妻一区二区| 亚洲一区不卡| 免费看91的网站| 日韩美女视频免费在线观看| 久久一区二区三区国产精品| 国产乱人视频免费播放| 天天干在线视频论坛| 日韩精品在线观看免费| 国产极品美女在线| 蜜桃av在线播放| 这里只有精品在线播放| 91久久精品国产性色| 91精品黄色片免费大全| 青青视频在线观| 黄色美女网站在线观看| 国产亚洲精品久久久久久牛牛| 免费在线观看一区| 宅男噜噜噜66一区二区| 婷婷四房综合激情五月| 伊人久久成人网| 欧美老女人性视频| 青娱乐在线免费视频| 国产精品a久久久久| 丁香花在线观看完整版电影| 视频一区二区三区在线看免费看| 91麻豆精品国产自产在线观看一区| 亚洲免费资源在线播放| 日韩一区二区高清| 国产在线看片| 无码精品人妻一区二区三区影院| 亚洲高清乱码| se01亚洲视频| 黄色三级视频在线观看| 久久久免费高清电视剧观看| 精品久久久久久久无码| 日本欧美一区二区| 国产欧美va欧美va香蕉在| 日韩欧美色视频| 欧美天堂社区| 免费观看一级欧美片| 欧美日韩不卡一区| 国产超级av| 欧美视频免费播放| 亚洲一区二区三区sesese| 国产综合精品| 色老头一区二区| 国产伦精品一区二区三区妓女下载| 蜜臀久久99精品久久一区二区| 国产视频一二三区| 一区二区三区av电影| 狠狠干在线视频| 警花观音坐莲激情销魂小说| 亚洲高清资源在线观看| 99久久国产综合精品女不卡| 成人永久aaa| 亚洲一二三四在线观看| 国产精品一区二区欧美黑人喷潮水| 亚洲性图自拍| 久久久久久一区| 在线国产视频| 6080日韩午夜伦伦午夜伦| 26uuu另类欧美亚洲曰本| 日韩免费观看视频| 欧美激情图区| 成人国产在线视频| 一级特黄aaa大片在线观看| 国产精一品亚洲二区在线视频| 97在线观看免费高清| 国产精品久久久久久久天堂| 美女极度色诱视频www免费观看| 久久久av毛片精品| www.欧美视频| 双性尿奴穿贞c带憋尿| 日韩一级精品视频在线观看| 亚洲美女免费精品视频在线观看| xxxxhd欧美精品| 国产精品亚洲自拍| 日本久久久久久久久久| 久久综合久久鬼色| 亚洲女人天堂成人av在线| 在线观看日韩一区二区| 男女午夜激情视频| 国产视频丨精品|在线观看| 欧美少妇性生活视频| 黑人巨大精品欧美黑白配亚洲| 少妇又紧又色又爽又刺激视频| 黑人玩欧美人三根一起进| 交videos老少配com| 三妻四妾完整版在线观看电视剧| 97超碰人人澡| 精品国产三区在线| 人人做人人爽| 91成人免费在线观看| 福利一区二区| 羞羞免费视频| xxav国产精品美女主播| 艳妇乳肉亭妇荡乳av| 美女视频久久| 日本一区二区三区四区五区六区| 国产porn在线| 成人久久精品视频| 精品视频日韩| 免费看91的网站| 国产精品99精品无码视亚| 日本私人影院在线观看| 不卡av日日日| bdsm在线观看播放视频| 青草影视电视剧免费播放在线观看| 黄色成人在线网址| 日本在线观看高清完整版| 亚洲国产精品女人| 成人免费视频网站入口::| 欧美日韩黄色一级片| 少妇极品熟妇人妻无码| 性欧美xxx69hd高清| 亚洲视频视频在线| 黄色免费视频在线观看| 国产精品久线观看视频| 国产不卡一卡2卡三卡4卡5卡在线| 国产三区视频在线观看| 一本色道久久加勒比88综合| 日韩影院免费视频| 成人羞羞网站入口免费| 先锋资源av在线| 亚洲va欧美va| av av片在线看| 日韩最新中文字幕| 亚洲国产精品第一区二区| 91社区视频在线观看| 激情综合色综合久久| 91精品福利在线| 精品久久久久久久久久国产| 精品97人妻无码中文永久在线| av影院在线| 1区2区视频| 美女毛片在线观看| 狠狠干狠狠久久| 四虎国产精品免费久久| 国产精品久久久久久久| 欧美一级免费播放| 99在线精品视频在线观看| aaaaa黄色片| 韩国av一区二区三区四区| 6080yy午夜一二三区久久| 97超碰蝌蚪网人人做人人爽| 久久视频免费| 午夜视频在线观看韩国| 中文字幕亚洲欧美日韩高清| 国产精品中文字幕欧美| 乱人伦中文字幕在线zone| 亚洲激情av在线| 青青青爽在线视频免费观看| 天天操夜夜操av| 国产精品99精品无码视| 亚洲无码久久久久| 欧美国产三区| 麻豆视频免费网站| 亚洲午夜一级| 国产精品无码永久免费888| 亚洲不卡1卡2卡三卡2021麻豆| 国产精品我不卡| 国产精品久久久久久av公交车| 18禁裸男晨勃露j毛免费观看| 夜久久久久久| 成人av电影在线观看| 无码av免费一区二区三区试看| 在线xxxxx| 牛夜精品久久久久久久| 2021av在线| 视频二区欧美毛片免费观看| zzzwww在线看片免费| 中文字幕亚洲欧美在线不卡| 91精品免费在线观看| 意大利激情丛林无删减版dvd| 国产亚洲高清一区| 卡一卡2卡三精品| 91tv精品福利国产在线观看| 日本少妇bbwbbw精品| 青草视频在线播放| 国产精品外围在线观看| 一区二区免费在线视频| 天堂8中文在线最新版在线| 日韩av电影在线播放| 日韩www在线| 欧美成人午夜激情在线| 日本免费在线播放| 亚洲天堂男人网| 青青青草网站免费视频在线观看| 91精品国产免费久久久久久| www.成人| 精品深夜av无码一区二区老年| 国产日韩精品一区二区浪潮av|