在ITPUB上有一則非常巧妙的SQL技巧,學習一下,記錄在這里。 最初的問題是這樣的: 我有一個表結構, 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 (第二個字段內可能是連續的數據,可能存在斷點。) 怎樣能查詢出來這樣的結果,查詢出連續的記錄來。 就像下面的這樣? 2014,00000001,00000005 2014,00000009,00000007 2013,00000120,00000122 2013,00000124,00000125 ITPUB上的朋友給出了一個非常巧妙的答案: SELECT b.fphm, MIN (b.kshm) Start_HM, MAX (b.kshm) End_HM FROM (SELECT a.*, TO_NUMBER (a.kshm - ROWNUM) cc FROM (SELECT * FROM t ORDER BY fphm, kshm) a ) b GROUP BY b.fphm, b.cc