Use a função de atraso: SELECT value - lag(value) OVER (ORDER BY Id) FROM table As sequências usadas para Ids podem pular valores, portanto, Id-1 nem sempre funciona.