posts - 60, comments - 116, trackbacks - 1, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          ORACLE SQL: 查詢連續號碼段并合并的方法

          Posted on 2007-09-06 10:24 匪客 閱讀(2251) 評論(1)  編輯  收藏 所屬分類: 數據庫

          有一個表phonearea,結構如下:

          province?? prefix
          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

          第一個字段是省份代碼,第二個字段是分配的不同的手機號碼段的前綴,第二個字段內可能是連續的數據,可能存在斷點。

          怎樣能根據省份分組,把相同省份的連續的號碼段合并起來,結果就像下面的這樣:

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

          在網上查找到了解決方法:

          SELECT b.province, MIN (b.prefix) Start_HM, MAX (b.prefix) End_HM
          ? FROM
          ??? (SELECT a.*, TO_NUMBER(a.prefix - ROWNUM) cc FROM (SELECT * FROM phonearea t ORDER BY province, prefix) a) b
          ? GROUP BY b.province, b.cc


          評論

          # re: ORACLE SQL: 查詢連續號碼段并合并的方法  回復  更多評論   

          2014-12-30 14:12 by 孔桂花
          求方法

          主站蜘蛛池模板: 宁津县| 延长县| 乌鲁木齐县| 深水埗区| 苏尼特左旗| 息烽县| 剑河县| 平凉市| 大兴区| 屏东县| 乃东县| 广宁县| 临沭县| 通辽市| 宣威市| 漳平市| 高平市| 尼玛县| 昌邑市| 黄陵县| 麻江县| 垣曲县| 钟祥市| 合水县| 平果县| 西贡区| 吉水县| 汕尾市| 阳朔县| 桂平市| 唐海县| 磐安县| 东乌| 石家庄市| 新民市| 荃湾区| 恩施市| 涡阳县| 阿坝县| 梁平县| 穆棱市|