基本上我想计算列在特定范围内的组数。
示例:
DATA:
COL1: COL2:
CC2SYS_LOAD 2239
CC2SYS_LOAD 2307
CC2SYS_LOAD 2316
CC2SYS_LOAD 7164
CC2SYS_LOAD 7169
CC2SYS_LOAD 7179
我需要它返回2的计数,因为有2组3条记录,其中COL2的值相互下降900.
可能有100个或没有。
答案 0 :(得分:1)
试试这个:
select
sum(flag) + 1
from (
select
case when col2 - lag(col2,1,col2) over (order by col2) > 900 then 1 end flag
from your_table
) t
标志(使用窗口函数lag
构建)标记下一组的开始。