SQL查詢連續號碼段的解法(例項)
本文介紹了一則非常巧妙的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
下面是一個很巧妙的解決方法:
SQL> SELECT b.fphm, MIN (b.kshm) Start_HM, MAX (b.kshm) End_HM
2 FROM (SELECT a.*, TO_NUMBER (a.kshm - ROWNUM) cc
3 FROM (SELECT *
4 FROM t
5 ORDER BY fphm, kshm) a) b
6 GROUP BY b.fphm, b.cc
7 /
FPHM START_HM END_HM
---------- -------- --------
2013 00000120 00000122
2013 00000124 00000125
2014 00000001 00000005
2014 00000007 00000009
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-536518/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql 連線查詢例項(left join)三表連線查詢SQL
- 使用SSMS連線和查詢 SQL Server 例項SSMSQLServer
- SQL 如何查詢連續上漲 N 次的記錄SQL
- SQL連線查詢SQL
- oracle 例項表查詢Oracle
- 一條SQL完成跨資料庫例項Join查詢SQL資料庫
- FastHook——實現.dynsym段和.symtab段符號查詢ASTHook符號
- 從例項分析ELF格式的.gnu.hash區與glibc的符號查詢符號
- Bash 指令碼例項:獲取符號連結的目標位置指令碼符號
- 快遞鳥查詢訂單例項單例
- vue例項+axios-天氣查詢VueiOS
- 一個SQL查詢連續三天的流量100以上的資料值【SQql Server】SQLServer
- 連續段DP
- SQL查詢的:子查詢和多表查詢SQL
- SQL實戰從在職到離職(1) 如何處理連續查詢SQL
- SSM 框架快速整合例項--學生查詢SSM框架
- FPGA一段式verilog程式碼例項FPGA
- 第二章 :查詢與排序-------二分查詢的遞迴解法排序遞迴
- 線段樹(1)建樹、單點修改、單點查詢、區間查詢和例題
- SQL語句替換查詢結果的的寫法舉例SQL
- T-SQL——關於跨庫連線查詢SQL
- SQL Sever 實現查詢超過自己經理工資的員工(自連線查詢)SQL
- FPGA二段式verilog程式碼例項FPGA
- SQL--查詢SQL
- SQL 聚合查詢SQL
- 原生SQL查詢SQL
- python 連線mongodb實現增刪改查例項PythonMongoDB
- SQL Server中Table字典資料的查詢SQL示例程式碼SQLServer
- JPA時間段查詢
- MySQL查詢時間段MySql
- go 連線資料庫 - GORM學習 - sql查詢Go資料庫ORMSQL
- 【學習】SQL基礎-006-多表連線查詢SQL
- SQL連續查詢問題擴充—記上海拼多多非技術崗面試真題SQL面試
- 查詢手機號碼是否支援攜號轉網的API介面API
- 「SAP技術」SAP WM 如何根據TR號碼查詢TO號碼?
- SQL的基礎查詢案例SQL
- SQL 查詢中的 NULL 值SQLNull
- SQL 複雜查詢SQL
- sql常用查詢命令SQL