Re: obtain the difference between successive rows

Поиск
Список
Период
Сортировка
От Berend Tober
Тема Re: obtain the difference between successive rows
Дата
Msg-id 5082C38F.9080309@computer.org
обсуждение исходный текст
Ответ на Re: obtain the difference between successive rows  (Thalis Kalfigkopoulos <tkalfigo@gmail.com>)
Ответы Re: obtain the difference between successive rows
Re: obtain the difference between successive rows
Список pgsql-general
Thalis Kalfigkopoulos wrote:
> On Sat, Oct 20, 2012 at 8:02 AM, Raymond O'Donnell <rod@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.



В списке pgsql-general по дате отправления:

Предыдущее
От: Thalis Kalfigkopoulos
Дата:
Сообщение: Re: obtain the difference between successive rows
Следующее
От: Chris Angelico
Дата:
Сообщение: Re: obtain the difference between successive rows