63

I tried to calculate difference between rows in a field using a query:

Illustrations:
input:year,month,fixes
output:increase

     year | month | fixes    | increase
    ------+-------+----------+-----------
     2006 | 04    |       1  | 0
     2006 | 05    |       4  | 3
     2006 | 06    |       3  | -1

Increase column as output by difference between adjacent rows in fixes.

2
  • What output do you expect? Commented Jul 11, 2014 at 6:38
  • increase column as output Commented Jul 11, 2014 at 6:39

1 Answer 1

148

This is what window functions are for:

select year, 
       month,
       fixes,
       fixes - lag(fixes) over (order by year, month) as increase,
from the_table;

For more details please see the manual:
http://www.postgresql.org/docs/current/static/tutorial-window.html

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.