隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827240
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          今天一同事問我以下需求用SQL如何實現
          需求:
          LWH_TEST表一個SEQ欄位,對應的值(不連續的流水碼)
          1,
          2,
          4,
          6,
          8
          .
          .
          .

          以下SQL可查出缺失的流水號:3,5,7...

          select b.SEQ - a.SEQ, b.SEQ, a.SEQ from
          ( select SEQ , ROWNUM RN from (select SEQ from LWH_TEST order by SEQ) ) a,
          ( select SEQ , ROWNUM RN from (select SEQ from LWH_TEST order by SEQ) ) b
          where a.RN+1 = b.RN
          and b.SEQ - a.SEQ > 1


          感覺還可以



          posted on 2011-02-23 15:55 Ke 閱讀(601) 評論(3)  編輯  收藏 所屬分類: oracle

          FeedBack:
          # re: 查出不連續,中斷的流水碼 2011-02-23 16:09 劉文彬
          這條SQL, 我已經見識過了, 非常厲害, 以后肯定會有機會用到, 我頂啊~  回復  更多評論
            
          # re: 查出不連續,中斷的流水碼[未登錄] 2011-08-30 02:17 cc
          為什么查不出來??  回復  更多評論
            
          # re: 查出不連續,中斷的流水碼 2012-11-01 11:01 wenbinliu
          查詢的方式為1-4 7-9 13- 17
          -------------查詢不連續的流水碼---------------------

          SELECT MIN (b.seq) Start_HM, MAX (b.seq) End_HM
          FROM (SELECT a.*, TO_NUMBER (a.seq - ROWNUM) cc
          FROM (SELECT *
          FROM LWH_TEST
          ORDER BY seq) a) b GROUP BY b.cc
          示例:
          SELECT MIN (b. csn) start_hm, MAX (b.csn) end_hm
          FROM (SELECT a.*, TO_NUMBER (a.customer_sn - ROWNUM) cc
          FROM (SELECT substr(customer_sn,-8) customer_sn,customer_sn csn
          FROM g_sn_status where WORK_ORDER ='24020680-1.1-001-P'
          ORDER BY customer_sn) a) b
          GROUP BY b.cc   回復  更多評論
            
          主站蜘蛛池模板: 嘉黎县| 唐山市| 屏边| 象山县| 额济纳旗| 利津县| 长治县| 栖霞市| 姜堰市| 泰宁县| 天柱县| 山丹县| 郁南县| 遂宁市| 玛沁县| 塘沽区| 城固县| 邮箱| 台北县| 游戏| 屏边| 崇文区| 宣汉县| 平原县| 突泉县| 桐庐县| 融水| 托里县| 上栗县| 昌平区| 罗田县| 霍城县| 井研县| 囊谦县| 广丰县| 民权县| 明星| 平山县| 宜阳县| 剑阁县| 榕江县|