Oracle有一表a,資料如下:

我想統計表中持續時間之和,統計邏輯如下

請問要怎樣寫查詢陳述句?
uj5u.com熱心網友回復:
盲寫的,但是差不多就這個意思with tab2 as (
select t1.*,
case when t1.start_time between
lag(t1.start_time) over(order by t1.start_time) and lag(t1.end_time) over(order by t1.start_time)
then 0
else 1
end grp
from tab1 t1
)
, tab3 as (
select t1.*,
sum(nvl(t1.grp, 0)) over(order by t1.start_time) grp_flag
from tab2 t1
)
select t1.*,
to_char(sum(t1.end_time - t1.start_time) over(partition by t1.grp_flag) + trunc(sysdate), 'hh24:mi:ss') sssss
from tab3 t1
;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/265694.html
標籤:開發
