如:
xh num1 num2
1 10015 60080
2 20022 80090
3 30250 40900
判断数据重叠区间后最后形成一条记录为:1 10015 80090 xh num1 num2
1 10015 30080
2 20022 50090
3 60250 90900
处理后为: xh num1 num2
1 10015 50090
2 60250 90900哪位兄弟帮我分析处理下。谢谢了!!!!
xh num1 num2
1 10015 60080
2 20022 80090
3 30250 40900
判断数据重叠区间后最后形成一条记录为:1 10015 80090 xh num1 num2
1 10015 30080
2 20022 50090
3 60250 90900
处理后为: xh num1 num2
1 10015 50090
2 60250 90900哪位兄弟帮我分析处理下。谢谢了!!!!
( select 1 xh, 10015 num1, 30080 num2 from dual union all
select 2 xh, 20022 num1, 50090 num2 from dual union all
select 3 xh, 60250 num1, 90900 num2 from dual
)
select row_number()over(order by rn) xh,
min(num1) num1,
max(num2) num2
from
(
select num1,
num2,
last_value(case when rn is not null then rn end ignore nulls)over(order by rownum) rn
from
(
select num1,
num2,
lag(num2)over(order by xh),
(case when num1 - lag(num2)over(order by xh) < 0 then null else xh end) rn
from tt
) t
) t1
group by rn
A1 $select num1,num2 from tb order by num1
A2 =a=0
A3 =A1.groups@o(a+=if(num1>num2[-1],1,0):xh;min(num1):num1,max(num2):num2)工作原理和上面的SQL是一样的,计算结果:
集算器提供了JDBC接口,可以像数据库一样嵌入到应用中,使用简单也免费。这还有一些有序计算的例子http://blog.raqsoft.cn/?p=5186 .