Uz pomoć JOIN-ova:
Kôd:
select t1.id, t1.value, t2.id, (100.0 * t1.value / t2.value) - 100
from test t1
left join test t2 on t2.id < t1.id
left join test t3 on t3.id < t1.id and t2.id < t3.id
where t3.id is null
group by t1.id, t1.value, t2.id, t2.value;
id | value | id | ?column?
----+-------+----+----------------------
1 | 50 | |
2 | 30 | 1 | -40.0000000000000000
3 | 40 | 2 | 33.3333333333333333
(3 rows)