2017-07-27 60 views
0

我有類似下面的表格:Oracle訂單按秒

TIME Quantity 
200918 122 
200919 333 
200919 500 
181222 32 
181223 43 

我想對於上述數據的輸出是:

Time  Quantity 
200919 955 
181223 75 

基本上我想組基礎上的寬容一秒鐘並總結最近一次採取的數量。任何指針?

感謝

+0

哪裏會像'200917條目12'去?或者數據總是成對的兩個? – RealCheeseLord

+0

請解釋TIME的這個值是如何格式化的。 – OldProgrammer

+0

時間實際時間下的值是幾秒?或者他們只是你想要總結的隨機數? – Isaiah3015

回答

2

您可以使用lag()和累積group by

select max(time), sum(quantity) 
from (select t.*, 
      sum(case when prev_time < time - 1 then 1 else 0 end) over (order by time) as grp 
     from (select t.*, lag(time) over (order by time) as prev_time 
      from t 
      ) t 
    ) 
group by grp;