在itpub里看到一个很有意思的sql
一个表中记录了各个地点的报警开始时间,结束时间。
现在想统计,各个地点报警次数和时长,时长=结束时间-开始时间。
要求,同一个地点,开始时间间隔超过10分钟的,这个地点要在结果中再出现一次,10分钟之内的假如有多条,统计条数和报警时长,时长=10分钟内各条时长之和。
create table T_DEMO
(
id VARCHAR2(32) not null,
place_id VARCHAR2(32),
s_time DATE,
e_time DATE
);
insert into t_demo (ID, PLACE_ID, S_TIME, E_TIME)
values ('1', '1', to_date('21-08-2014 01:24:00', 'dd-mm-yyyy hh24:mi:ss'), to_date('21-08-2014 01:24:01', 'dd-mm-yyyy hh24:mi:ss'));
insert into t_demo (ID, PLACE_ID, S_TIME, E_TIME)
values ('2', '1', to_date('21-08-2014 01:25:00', 'dd-mm-yyyy hh24:mi:ss'), to_date('21-08-2014 01:25:01',
...
继续阅读
(26)