有一张表TABLE,如下数据:
字段 NAME , TEST_DATE , START_TIME , STOP_TIME
AA 2011-3-28 2011-3-28 09:00:00 2011-3-28 10:00:00
AA 2011-3-28 2011-3-28 12:00:00 2011-3-28 14:00:00
AA 2011-3-28 2011-3-28 13:00:00 2011-3-28 18:00:00
BB ...... ......
BB ...... ......要求:以NAME 和 TEST_DATE为分组;求AA中一天不重复START_TIME 和 STOP_TIME 时间和;
如:第一条记录与第二天条记录中,有11点--12点时间差要 去掉;
第三条记录有13--14点 在第二条记录中算过,这边要去掉只计14--18点这时间;
反正在一天里面算出来时间不能超过24小时,算出来结果要除以24小时,算出利用率;
字段 NAME , TEST_DATE , START_TIME , STOP_TIME
AA 2011-3-28 2011-3-28 09:00:00 2011-3-28 10:00:00
AA 2011-3-28 2011-3-28 12:00:00 2011-3-28 14:00:00
AA 2011-3-28 2011-3-28 13:00:00 2011-3-28 18:00:00
BB ...... ......
BB ...... ......要求:以NAME 和 TEST_DATE为分组;求AA中一天不重复START_TIME 和 STOP_TIME 时间和;
如:第一条记录与第二天条记录中,有11点--12点时间差要 去掉;
第三条记录有13--14点 在第二条记录中算过,这边要去掉只计14--18点这时间;
反正在一天里面算出来时间不能超过24小时,算出来结果要除以24小时,算出利用率;
解决方案 »
- linux下我想导出表空间下的某个用户下某个表数据
- web关于数据库连接的问题
- ORACLE更新语句问题
- Io 异常: The Network Adapter could not establish the connection
- 如何在ASP里通过ado连接ORACLE(例如ORACLE816,ORACLE9I),是不是需要更新ADO组件?如何用ADODB.Stream读出带有返回结果集的ORACLE存储过
- powerdisigner中数据库模型UML把它在找开怎么不显示?为什么?
- 如何让NUMBER型主键每增加一条纪录自动加1
- ADO连接问题
- 请教win8.1链接服务器oracle11G失去连接问题
- 在线急等
- Oracle求助
- Oracle数据库多实例及负载集群中的疑问
SELECT NAME,
test_date,
SUM((stop_time - CASE
WHEN start_time < nvl(p_stoptime, start_time) THEN
p_stoptime
ELSE
start_time
END) * 24) / 24 * 100 "USE_RATIO(%)"
FROM (SELECT t.*,
lag(t.stop_time) over(PARTITION BY t.name, t.test_date ORDER BY t.start_time) p_stoptime
FROM tt t)
GROUP BY NAME, test_date;