【发布时间】:2016-04-11 10:30:27
【问题描述】:
鉴于下面列出的数据,如何只选择记录,其中:
a) 至少存在 1 个相同 client_id 的先前票证,并且
b) 每张前程票的最大时差不得超过 14 天。换句话说,如果票证具有 a) 中所述的后继者,并且该后继者是在 >14 天后创建的,则不得考虑。
create table tickets (
ticket_id number,
client_id number,
start_time date);
insert into tickets values (1,1,to_date('201601011330','yyyymmddhh24mi'));
insert into tickets values (2,1,to_date('201601021320','yyyymmddhh24mi'));
insert into tickets values (3,1,to_date('201601101330','yyyymmddhh24mi'));
insert into tickets values (4,1,to_date('201603101330','yyyymmddhh24mi'));
insert into tickets values (5,2,to_date('201601011630','yyyymmddhh24mi'));
insert into tickets values (6,2,to_date('201601201330','yyyymmddhh24mi'));
insert into tickets values (7,3,to_date('201602011330','yyyymmddhh24mi'));
insert into tickets values (8,4,to_date('201602290000','yyyymmddhh24mi'));
insert into tickets values (9,4,to_date('201603011630','yyyymmddhh24mi'));
insert into tickets values (10,4,to_date('201604011120','yyyymmddhh24mi'));
insert into tickets values(11,4,to_date('201604101030','yyyymmddhh24mi'));
commit;
【问题讨论】:
标签: sql oracle analytic-functions