Thalis Kalfigkopoulos wrote:
On Sat, Oct 20, 2012 at 8:02 AM, Raymond O'Donnell <r...@iol.ie> wrote:
On 20/10/2012 11:54, ochaussavoine wrote:
I have a table 'tmvt' with a field 'created' in the row, and would like to
compute the difference between successive rows. The solution I found is:

I think you can do it with a window function.


In particular you're looking probably for the lag() window function.

What about if there is more than one column you want the difference for (... coincidentally I am writing a article on this topic right now! ...), say a table which is used to record a metered quantity at not-quite regular intervals:

CREATE TABLE electricity
(
  current_reading_date date,
  current_meter_reading integer
);


with sample data:


'2012-09-07',2158
'2012-10-05',3018



and I want an output such as:


Meter Read on October 5

Current      Previous          kWh
Reading      Reading          Used
-----------------------------------
3018   -        2158   =        860

Number service days = 28


I am working on a write-up of a neat solution using CTE's, but would be interested in other's views.



--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to