程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle查詢連續5個月記錄的實現方法

Oracle查詢連續5個月記錄的實現方法

編輯:Oracle數據庫基礎

Oracle查詢方式多種多樣,下面為您介紹的Oracle查詢方法實現的是連續時間段內記錄的實現方法,希望可以讓您對Oracle查詢有更多的認識。

表結構如下
姓名 日期 ...
a 200101
a 200102
a 200103
a 200104
a 200105
a 200401
a 200403
a 200404
a 200405
c 200901
c 200902
b 200301
b 200304
b 200801
b 200802
b 200803
b 200804
b 200805
現在需要找出連續5個月都有記錄的人員和開始日期及結束日期,例如a從200101-200105和b從200801-200805

  1. SELECT 姓名, Start_HM, End_HM FROM(  
  2.          SELECT b.姓名, MIN (b.日期) Start_HM, MAX (b.日期) End_HM  
  3.          FROM (SELECT a.*, ADD_MONTHS(a.日期, ROWNUM * (-1)) cc  
  4.                FROM (SELECT *  
  5.                      FROM t  
  6.                      ORDER BY 姓名, 日期  
  7.                     ) a  
  8.               ) b  
  9.          GROUP BY b.姓名, b.cc)   
  10. WHERE MONTHS_BETWEEN(End_HM,Start_HM) >= 4; 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved