oracle11g lead bug
2013-11-27 17:47
197 查看
with t0 as (select a.car_id,a.plate_no,a.plate_color
from vmc_car_info a,vmc_car_manager b
where a.car_id = b.car_id and a.CAR_STATUS<>'99'
and a.enterprise_id=100000285
and b.user_id=200000319),
t1 as
(SELECT a.car_id,LOG_TIME,ONLINE_STATUS,
LEAD(LOG_TIME) OVER(partition by a.car_id ORDER BY LOG_TIME) AS next_time,
LEAD(ONLINE_STATUS) OVER(partition by a.car_id ORDER BY LOG_TIME) AS next_status,
lag(LOG_TIME) OVER(partition by a.car_id ORDER BY LOG_TIME) AS pre_time,
lag(ONLINE_STATUS) OVER(partition by a.car_id ORDER BY LOG_TIME) AS pre_status
FROM vmc_car_online_log a
where a.car_id in(select t0.car_id from t0 )
and log_time between
to_date('2013-11-26 12:29:03', 'yyyy-MM-dd hh24:mi:ss') and
to_date('2013-11-27 12:29:09', 'yyyy-MM-dd hh24:mi:ss')),
t2 as
(select car_id,
LOG_TIME online_time,
nvl(next_time,
to_date('2013-11-27 12:29:09', 'yyyy-MM-dd hh24:mi:ss')) offline_time
from t1
where t1.ONLINE_STATUS = 1),
t3 as
(select car_id,
nvl(pre_time,
to_date('2013-11-26 12:29:03', 'yyyy-MM-dd hh24:mi:ss')) online_time,
LOG_TIME offline_time
from t1
where t1.ONLINE_STATUS = 0),
t4 as (select * from t2 union select * from t3),
t5 as (select CAR_ID,
round(SUM(OFFLINE_TIME - ONLINE_TIME) /
(to_date('2013-11-27 12:29:09',
'yyyy-MM-dd hh24:mi:ss') -
to_date('2013-11-26 12:36:03',
'yyyy-MM-dd hh24:mi:ss')) * 100, 6) online_ratio,
SUM(OFFLINE_TIME - ONLINE_TIME)*86400 online_time,count(*) online_cnt
from t4 GROUP BY CAR_ID)
select /*+ NOREWRITE */ a.car_id,a.plate_no,a.plate_color,to_char(nvl(b.online_ratio,0),'990D99') || '%' online_ratio,
online_time,online_cnt
from t0 a,t5 b
where a.car_id=b.car_id
order by a.car_id ;
CAR_ID PLATE_NO PLATE_COLOR ONLINE_RATIO ONLINE_TIME ONLINE_CNT
---------- ------------------------------------------------------------ ----------- ------------ ----------- ----------
600217878 粤BA705L 1 7.76% 6674 1
600217937 粤B56G32 1 2.45% 2106 1
600217938 粤B78WS6 1 2.77% 2382 2
600217939 京G48811 2 9.26% 7963 5
with t0 as (select a.car_id,a.plate_no,a.plate_color
from vmc_car_info a,vmc_car_manager b
where a.car_id = b.car_id and a.CAR_STATUS<>'99'
and a.enterprise_id=100000285
and b.user_id=200000319),
t1 as
(SELECT a.car_id,LOG_TIME,ONLINE_STATUS,
LEAD(LOG_TIME) OVER(partition by a.car_id ORDER BY LOG_TIME) AS next_time,
LEAD(ONLINE_STATUS) OVER(partition by a.car_id ORDER BY LOG_TIME) AS next_status,
lag(LOG_TIME) OVER(partition by a.car_id ORDER BY LOG_TIME) AS pre_time,
lag(ONLINE_STATUS) OVER(partition by a.car_id ORDER BY LOG_TIME) AS pre_status
FROM vmc_car_online_log a,t0
where a.car_id=t0.car_id
and log_time between
to_date('2013-11-26 12:29:03', 'yyyy-MM-dd hh24:mi:ss') and
to_date('2013-11-27 12:29:09', 'yyyy-MM-dd hh24:mi:ss')),
t2 as
(select car_id,
LOG_TIME online_time,
nvl(next_time,
to_date('2013-11-27 12:29:09', 'yyyy-MM-dd hh24:mi:ss')) offline_time
from t1
where t1.ONLINE_STATUS = 1),
t3 as
(select car_id,
nvl(pre_time,
to_date('2013-11-26 12:29:03', 'yyyy-MM-dd hh24:mi:ss')) online_time,
LOG_TIME offline_time
from t1
where t1.ONLINE_STATUS = 0),
t4 as (select * from t2 union select * from t3),
t5 as (select CAR_ID,
round(SUM(OFFLINE_TIME - ONLINE_TIME) /
(to_date('2013-11-27 12:29:09',
'yyyy-MM-dd hh24:mi:ss') -
to_date('2013-11-26 12:36:03',
'yyyy-MM-dd hh24:mi:ss')) * 100, 6) online_ratio,
SUM(OFFLINE_TIME - ONLINE_TIME)*86400 online_time,count(*) online_cnt
from t4 GROUP BY CAR_ID)
select /*+ NOREWRITE */ a.car_id,a.plate_no,a.plate_color,to_char(nvl(b.online_ratio,0),'990D99') || '%' online_ratio,
online_time,online_cnt
from t0 a,t5 b
where a.car_id=b.car_id
order by a.car_id
CAR_ID PLATE_NO PLATE_COLOR ONLINE_RATIO ONLINE_TIME ONLINE_CNT
---------- ------------------------------------------------------------ ----------- ------------ ----------- ----------
600217878 粤BA705L 1 7.76% 6674 1
600217937 粤B56G32 1 2.45% 2106 1
600217938 粤B78WS6 1 2.77% 2382 2
600217939 京G48811 2 3.49% 2999 6
from vmc_car_info a,vmc_car_manager b
where a.car_id = b.car_id and a.CAR_STATUS<>'99'
and a.enterprise_id=100000285
and b.user_id=200000319),
t1 as
(SELECT a.car_id,LOG_TIME,ONLINE_STATUS,
LEAD(LOG_TIME) OVER(partition by a.car_id ORDER BY LOG_TIME) AS next_time,
LEAD(ONLINE_STATUS) OVER(partition by a.car_id ORDER BY LOG_TIME) AS next_status,
lag(LOG_TIME) OVER(partition by a.car_id ORDER BY LOG_TIME) AS pre_time,
lag(ONLINE_STATUS) OVER(partition by a.car_id ORDER BY LOG_TIME) AS pre_status
FROM vmc_car_online_log a
where a.car_id in(select t0.car_id from t0 )
and log_time between
to_date('2013-11-26 12:29:03', 'yyyy-MM-dd hh24:mi:ss') and
to_date('2013-11-27 12:29:09', 'yyyy-MM-dd hh24:mi:ss')),
t2 as
(select car_id,
LOG_TIME online_time,
nvl(next_time,
to_date('2013-11-27 12:29:09', 'yyyy-MM-dd hh24:mi:ss')) offline_time
from t1
where t1.ONLINE_STATUS = 1),
t3 as
(select car_id,
nvl(pre_time,
to_date('2013-11-26 12:29:03', 'yyyy-MM-dd hh24:mi:ss')) online_time,
LOG_TIME offline_time
from t1
where t1.ONLINE_STATUS = 0),
t4 as (select * from t2 union select * from t3),
t5 as (select CAR_ID,
round(SUM(OFFLINE_TIME - ONLINE_TIME) /
(to_date('2013-11-27 12:29:09',
'yyyy-MM-dd hh24:mi:ss') -
to_date('2013-11-26 12:36:03',
'yyyy-MM-dd hh24:mi:ss')) * 100, 6) online_ratio,
SUM(OFFLINE_TIME - ONLINE_TIME)*86400 online_time,count(*) online_cnt
from t4 GROUP BY CAR_ID)
select /*+ NOREWRITE */ a.car_id,a.plate_no,a.plate_color,to_char(nvl(b.online_ratio,0),'990D99') || '%' online_ratio,
online_time,online_cnt
from t0 a,t5 b
where a.car_id=b.car_id
order by a.car_id ;
CAR_ID PLATE_NO PLATE_COLOR ONLINE_RATIO ONLINE_TIME ONLINE_CNT
---------- ------------------------------------------------------------ ----------- ------------ ----------- ----------
600217878 粤BA705L 1 7.76% 6674 1
600217937 粤B56G32 1 2.45% 2106 1
600217938 粤B78WS6 1 2.77% 2382 2
600217939 京G48811 2 9.26% 7963 5
with t0 as (select a.car_id,a.plate_no,a.plate_color
from vmc_car_info a,vmc_car_manager b
where a.car_id = b.car_id and a.CAR_STATUS<>'99'
and a.enterprise_id=100000285
and b.user_id=200000319),
t1 as
(SELECT a.car_id,LOG_TIME,ONLINE_STATUS,
LEAD(LOG_TIME) OVER(partition by a.car_id ORDER BY LOG_TIME) AS next_time,
LEAD(ONLINE_STATUS) OVER(partition by a.car_id ORDER BY LOG_TIME) AS next_status,
lag(LOG_TIME) OVER(partition by a.car_id ORDER BY LOG_TIME) AS pre_time,
lag(ONLINE_STATUS) OVER(partition by a.car_id ORDER BY LOG_TIME) AS pre_status
FROM vmc_car_online_log a,t0
where a.car_id=t0.car_id
and log_time between
to_date('2013-11-26 12:29:03', 'yyyy-MM-dd hh24:mi:ss') and
to_date('2013-11-27 12:29:09', 'yyyy-MM-dd hh24:mi:ss')),
t2 as
(select car_id,
LOG_TIME online_time,
nvl(next_time,
to_date('2013-11-27 12:29:09', 'yyyy-MM-dd hh24:mi:ss')) offline_time
from t1
where t1.ONLINE_STATUS = 1),
t3 as
(select car_id,
nvl(pre_time,
to_date('2013-11-26 12:29:03', 'yyyy-MM-dd hh24:mi:ss')) online_time,
LOG_TIME offline_time
from t1
where t1.ONLINE_STATUS = 0),
t4 as (select * from t2 union select * from t3),
t5 as (select CAR_ID,
round(SUM(OFFLINE_TIME - ONLINE_TIME) /
(to_date('2013-11-27 12:29:09',
'yyyy-MM-dd hh24:mi:ss') -
to_date('2013-11-26 12:36:03',
'yyyy-MM-dd hh24:mi:ss')) * 100, 6) online_ratio,
SUM(OFFLINE_TIME - ONLINE_TIME)*86400 online_time,count(*) online_cnt
from t4 GROUP BY CAR_ID)
select /*+ NOREWRITE */ a.car_id,a.plate_no,a.plate_color,to_char(nvl(b.online_ratio,0),'990D99') || '%' online_ratio,
online_time,online_cnt
from t0 a,t5 b
where a.car_id=b.car_id
order by a.car_id
CAR_ID PLATE_NO PLATE_COLOR ONLINE_RATIO ONLINE_TIME ONLINE_CNT
---------- ------------------------------------------------------------ ----------- ------------ ----------- ----------
600217878 粤BA705L 1 7.76% 6674 1
600217937 粤B56G32 1 2.45% 2106 1
600217938 粤B78WS6 1 2.77% 2382 2
600217939 京G48811 2 3.49% 2999 6
相关文章推荐
- oracle11g常用bug故障排查步骤
- 作DNN CrossArticle模块BUG修改时,遇到2个小问题,在此记录一下。
- 分享:在Server 2008 DNS遇到的Bug
- 消灭Bug!十款免费移动应用测试框架推荐
- AGImagePickerController 发送图片 旋转90度的bug
- 常见bug调试方法
- springboot1.1.0自定义静态文件配置bug
- Sql Server 导入excel数据之bug(转)
- 如何减少BUG
- centos5.5&nbsp;x64安装oracle11g详解
- 突遇幽灵BUG
- EDK14.7 ip核向导 驱动文件bug修复
- IE下bug
- 做CF开发的朋友注意这个BUG了
- Mysql jar包bug: Unknown type '14 in column 5 of 10 in binary-encoded
- Oracle的安全标记算不算bug
- Eclipse Luna WTP 与 Tomcat 8 的整合存在一个很头疼的 Bug
- python自身bug:file.tell()在Linux和window平台下返回不同的值
- 《Flask Web开发》学习笔记之bug--(2)【AssertionError: View function mapping is overwriting an existing endpoi】
- JavaFX 1.0 发布,安装发现bug