Вы можете комбинировать LEAD
и LAG
, чтобы получить желаемый результат.
SELECT id
FROM (
SELECT t.*
,amount - LAG(amount, 1, 0) OVER (
PARTITION BY account ORDER BY amount
) AS diff1
,amount - LEAD(amount, 1, 0) OVER (
PARTITION BY account ORDER BY amount
) AS diff2
FROM t
) s
WHERE abs(diff1) < 5
OR abs(diff2) < 5;
Демо