OracleSQL技术(1)连续记录查询SQL案例测试
需求描述:你需要知道某个客户已经做了一年的生意。
SQL的实现如下:
创建表:
复制代码代码如下所示:
创建表test_num
(tyear数,
tdate日期);
测试数据:
插入test_num
选择2014,trunc(SYSDATE)- 1双联盟所有
选择2014,trunc(SYSDATE)- 002双联盟所有
选择2014,trunc(SYSDATE)- 003双联盟所有
选择2014,trunc(SYSDATE)- 004双联盟所有
选择2014,trunc(SYSDATE)- 005双联盟所有
选择2014,trunc(SYSDATE)- 007双联盟所有
选择2014,trunc(SYSDATE)- 008双联盟所有
选择2014,trunc(SYSDATE)- 009双联盟所有
选择2013,trunc(SYSDATE)- 120双联盟所有
选择2013,trunc(SYSDATE)- 121双联盟所有
选择2013,trunc(SYSDATE)- 122双联盟所有
选择2013,trunc(SYSDATE)- 124双联盟所有
选择2013,trunc(SYSDATE)- 125双联盟所有
选择2013,trunc(SYSDATE)- 127双联盟所有
选择2015,trunc(SYSDATE)- 099双联盟所有
选择2015,trunc(SYSDATE)- 100双联盟所有
选择2015,trunc(SYSDATE)- 101双联盟所有
选择2015,trunc(SYSDATE)- 102双联盟所有
选择2015,trunc(SYSDATE)- 104双联盟所有
选择2015,trunc(SYSDATE)105双;
写SQL:
复制代码代码如下所示:
选择tyear,min(tdate)为起始,max(tdate),计数(tyear)作为endnum
从(选择A *,a.tdate -行号为GNUM)
FROM (SELECT TEST_NUM ORDER BY * FROM TYEAR, TDATE) A)
集团通过tyear,GNUM
为了tyear,min(tdate)