源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

oracle—SQL技巧之(一)连续记录查询sql案例测试

  • 时间:2022-04-21 02:05 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:oracle—SQL技巧之(一)连续记录查询sql案例测试
[b]需求说明[/b]: 需要查询出某个客户某一年那些天是有连续办理过业务 [b]实现SQL如下[/b]: 创建表:
[u]复制代码[/u] 代码如下:
create table test_num (tyear number, tdate date);
[b]测试数据[/b]: insert into test_num select 2014,trunc(sysdate)-1 from dual union all select 2014,trunc(sysdate)-002 from dual union all select 2014,trunc(sysdate)-003 from dual union all select 2014,trunc(sysdate)-004 from dual union all select 2014,trunc(sysdate)-005 from dual union all select 2014,trunc(sysdate)-007 from dual union all select 2014,trunc(sysdate)-008 from dual union all select 2014,trunc(sysdate)-009 from dual union all select 2013,trunc(sysdate)-120 from dual union all select 2013,trunc(sysdate)-121 from dual union all select 2013,trunc(sysdate)-122 from dual union all select 2013,trunc(sysdate)-124 from dual union all select 2013,trunc(sysdate)-125 from dual union all select 2013,trunc(sysdate)-127 from dual union all select 2015,trunc(sysdate)-099 from dual union all select 2015,trunc(sysdate)-100 from dual union all select 2015,trunc(sysdate)-101 from dual union all select 2015,trunc(sysdate)-102 from dual union all select 2015,trunc(sysdate)-104 from dual union all select 2015,trunc(sysdate)-105 from dual; [b]写SQL[/b]:
[u]复制代码[/u] 代码如下:
SELECT TYEAR, MIN(TDATE) AS STARTDATE, MAX(TDATE), COUNT(TYEAR) AS ENDNUM FROM (SELECT A.*, A.TDATE - ROWNUM AS GNUM FROM (SELECT * FROM TEST_NUM ORDER BY TYEAR, TDATE) A) GROUP BY TYEAR, GNUM ORDER BY TYEAR, MIN(TDATE)
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部