select aa.a from ( select a,abs(lag(a,1,0) over (order by a)-a) b from test ) aa where aa.b>2
忘记了,你应该是前后两条纪录都要的 select aa.a from ( select a,abs(lag(a,1,0) over (order by a)-a) b,abs(lead(a,1,0) over (order by a)-a) c from test ) aa where aa.b>2 or aa.c>2
from
(
select a,abs(lag(a,1,0) over (order by a)-a) b
from test
) aa
where aa.b>2
select aa.a
from
(
select a,abs(lag(a,1,0) over (order by a)-a) b,abs(lead(a,1,0) over (order by a)-a) c
from test
) aa
where aa.b>2 or aa.c>2