表A有兩個欄位,分別為start_time和end_time,條數有N條,求所有時間段并集,即重復時間段不做統計!
如:
start_time end_time
2017/2/1 12:06:17 2017/2/1 12:57:39
2017/2/1 12:30:01 2017/2/1 12:38:53
2017/2/1 19:34:28 2017/2/1 19:35:20
2017/2/1 19:35:20 2017/2/1 20:37:56
2017/2/1 20:37:57 2017/2/1 20:38:58
結果如下:
start_time end_time
2017/2/1 12:06:17 2017/2/1 12:57:39
2017/2/1 19:34:28 2017/2/1 20:37:56
2017/2/1 20:37:57 2017/2/1 20:38:58
uj5u.com熱心網友回復:
可以使用 intersectuj5u.com熱心網友回復:
uj5u.com熱心網友回復:
SELECT T.START_TIME
,NVL(MAX(C.END_TIME) ,T.END_TIME)
FROM (SELECT DISTINCT A.START_TIME,A.END_TIME FROM TEST A
WHERE NOT EXISTS(SELECT 1 FROM TEST B WHERE B.START_TIME < A.START_TIME AND B.END_TIME >= A.START_TIME))T , TEST C
WHERE T.END_TIME >= C.START_TIME(+)
AND T.END_TIME < C.END_TIME(+)
GROUP BY T.START_TIME, T.END_TIME
ORDER BY 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/100767.html
標籤:開發
下一篇:求大神幫我看看這個存盤程序?
