SQL Fiddle
的Oracle 11g R2架构设置:
CREATE TABLE Data (Cell, Date_Time, COOS, Unavailability) AS
SELECT 'D02463', DATE '2015-11-16' + INTERVAL '10' HOUR, 1, 0 FROM DUAL
UNION ALL SELECT 'D02463', DATE '2015-11-16' + INTERVAL '9' HOUR, 0, 3600 FROM DUAL
UNION ALL SELECT 'D02463', DATE '2015-11-16' + INTERVAL '8' HOUR, 0, 3600 FROM DUAL
UNION ALL SELECT 'D02463', DATE '2015-11-16' + INTERVAL '7' HOUR, 0, 3600 FROM DUAL
UNION ALL SELECT 'D02463', DATE '2015-11-16' + INTERVAL '6' HOUR, 0, 3600 FROM DUAL
UNION ALL SELECT 'D02463', DATE '2015-11-16' + INTERVAL '5' HOUR, 1, 0 FROM DUAL
UNION ALL SELECT 'D02463', DATE '2015-11-16' + INTERVAL '4' HOUR, 1, 0 FROM DUAL
UNION ALL SELECT 'D02463', DATE '2015-11-16' + INTERVAL '3' HOUR, 1, 0 FROM DUAL
查询1:
SELECT Cell,
Cell_Down,
Cell_Up,
(Cell_Up - Cell_Down)*24 AS Time_Down
FROM (
SELECT Cell,
Date_Time AS Cell_Up,
LAG(Date_Time) OVER (PARTITION BY Cell ORDER BY Date_Time) + INTERVAL '1' HOUR AS Cell_Down
FROM Data
WHERE COOS = 1
)
WHERE Cell_Down < Cell_Up
Results:
| CELL | CELL_DOWN | CELL_UP | TIME_DOWN |
|--------|----------------------------|----------------------------|-----------|
| D02463 | November, 16 2015 06:00:00 | November, 16 2015 10:00:00 | 4 |
来源
2015-11-16 15:14:36
MT0
谢谢jarlh,我不是肯定的怎么加图像li那个! – Mikey