日期:2014-05-16 浏览次数:20811 次
--表名tt
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;