Oracle查询连续5个月记录的实现方法

Oracle查询方式多种多样,下面为您介绍的Oracle查询方法实现的是连续时间段内记录的实现方法,希望可以让您对Oracle查询有更多的认识。

创新互联是一家专业提供锦州企业网站建设,专注与网站设计、网站制作成都h5网站建设、小程序制作等业务。10年已为锦州众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

表结构如下
姓名 日期 ...
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;

当前题目:Oracle查询连续5个月记录的实现方法
标题来源:http://www.shufengxianlan.com/qtweb/news28/238028.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联