Вы можете использовать LAG
для этой цели:
WITH cte AS (
SELECT *, LAG(created_at, 1, created_at - 5001)
OVER (ORDER BY id) lag_created_at
FROM yourTable
)
SELECT id, created_at
FROM cte
WHERE created_at - lag_created_at > 5000;
Обратите внимание, что я использую значение задержки по умолчанию created_at - 5001
, чтобы покрыть крайний край самой первой записи. Эта первая запись не имеет задержки, но мы все еще хотим включить ее.