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 孔桂花
          求方法

          主站蜘蛛池模板: 兰溪市| 延川县| 正定县| 哈巴河县| 新泰市| 玛曲县| 青川县| 仪陇县| 山丹县| 磐石市| 长治市| 鸡泽县| 和硕县| 资兴市| 白沙| 铜梁县| 昔阳县| 昌宁县| 拜泉县| 蕲春县| 五家渠市| 白城市| 荆门市| 安宁市| 博客| 徐汇区| 大英县| 汕尾市| 湖州市| 常山县| 分宜县| 三江| 卢湾区| 永顺县| 山阳县| 宜君县| 瓮安县| 宁都县| 肇源县| 司法| 华蓥市|