level 3
xulongxc
楼主
create table T1
(
ID INTEGER,
LOGTIME DATE,
OLD_STATE CHAR(10),
NET_STATE CHAR(10)
)
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2293912', to_date('11-09-2015 08:42:00', 'dd-mm-yyyy hh24:mi:ss'), '40 ', '4X ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2293912', to_date('11-09-2015 09:09:00', 'dd-mm-yyyy hh24:mi:ss'), '4X ', '21 ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2293912', to_date('14-09-2015 07:55:00', 'dd-mm-yyyy hh24:mi:ss'), '40 ', '4X ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2293912', to_date('14-09-2015 08:04:00', 'dd-mm-yyyy hh24:mi:ss'), '4X ', '50 ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2297220', to_date('24-09-2015 08:17:00', 'dd-mm-yyyy hh24:mi:ss'), '40 ', '4X ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2297220', to_date('24-09-2015 09:32:00', 'dd-mm-yyyy hh24:mi:ss'), '4X ', '50 ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2297565', to_date('09-10-2015 11:41:00', 'dd-mm-yyyy hh24:mi:ss'), '40 ', '4X ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2297565', to_date('09-10-2015 14:54:00', 'dd-mm-yyyy hh24:mi:ss'), '4X ', '50 ');
所有数据都是成对出现的
结果要求:计算出相同的applyid下 old_state='4X'的logtime 减去 new_state='4X'的时间差
结果示例:
ID LOGTIME OLD_STATE NET_STATE result
2293912 2015/9/11 8:42:00 40 4X
2293912 2015/9/11 9:09:00 4X 21 0.01875
2293912 2015/9/14 7:55:00 40 4X
2293912 2015/9/14 8:04:00 4X 50 0.00625
2297220 2015/9/24 8:17:00 40 4X
2297220 2015/9/24 9:32:00 4X 50 0.052083
2297565 2015/10/9 11:41:00 40 4X
2297565 2015/10/9 14:54:00 4X 50 0.134028
2015年12月03日 06点12分
1
(
ID INTEGER,
LOGTIME DATE,
OLD_STATE CHAR(10),
NET_STATE CHAR(10)
)
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2293912', to_date('11-09-2015 08:42:00', 'dd-mm-yyyy hh24:mi:ss'), '40 ', '4X ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2293912', to_date('11-09-2015 09:09:00', 'dd-mm-yyyy hh24:mi:ss'), '4X ', '21 ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2293912', to_date('14-09-2015 07:55:00', 'dd-mm-yyyy hh24:mi:ss'), '40 ', '4X ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2293912', to_date('14-09-2015 08:04:00', 'dd-mm-yyyy hh24:mi:ss'), '4X ', '50 ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2297220', to_date('24-09-2015 08:17:00', 'dd-mm-yyyy hh24:mi:ss'), '40 ', '4X ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2297220', to_date('24-09-2015 09:32:00', 'dd-mm-yyyy hh24:mi:ss'), '4X ', '50 ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2297565', to_date('09-10-2015 11:41:00', 'dd-mm-yyyy hh24:mi:ss'), '40 ', '4X ');
insert into T1 (ID, LOGTIME, OLD_STATE, NET_STATE)
values ('2297565', to_date('09-10-2015 14:54:00', 'dd-mm-yyyy hh24:mi:ss'), '4X ', '50 ');
所有数据都是成对出现的
结果要求:计算出相同的applyid下 old_state='4X'的logtime 减去 new_state='4X'的时间差
结果示例:
ID LOGTIME OLD_STATE NET_STATE result
2293912 2015/9/11 8:42:00 40 4X
2293912 2015/9/11 9:09:00 4X 21 0.01875
2293912 2015/9/14 7:55:00 40 4X
2293912 2015/9/14 8:04:00 4X 50 0.00625
2297220 2015/9/24 8:17:00 40 4X
2297220 2015/9/24 9:32:00 4X 50 0.052083
2297565 2015/10/9 11:41:00 40 4X
2297565 2015/10/9 14:54:00 4X 50 0.134028