Re: self join for history analyzis

From: Alban Hertroys <haramrae(at)gmail(dot)com>
To: Rafał Pietrak <rafal(at)zorro(dot)isa-geek(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: self join for history analyzis
Date: 2013-01-26 13:49:14
Message-ID: CC3E67DA-2764-4684-BF55-EF77D1DAB19E@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Jan 26, 2013, at 13:32, Rafał Pietrak <rafal(at)zorro(dot)isa-geek(dot)com> wrote:

> I have a usage recording table: CREATE TABLE readings(tm timestamp, bytesin int, bytesout int);
>
> The readouts are made "occasionally" - the timespan between the readouts are not very precise, but there is a lot of those readouts.
>
> when presenting data, for every readout I need to compute the difference between it and the one immediately preceding it, and divide that by respective measurement interval.

You don't need a self-join, you need a window function.
See: http://www.postgresql.org/docs/9.1/static/tutorial-window.html

For example:
SELECT timestamp, lag(timestamp) OVER (ORDER BY timestamp) FROM readings;

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rafał Pietrak 2013-01-26 14:08:53 Re: self join for history analyzis
Previous Message Rafał Pietrak 2013-01-26 12:32:04 self join for history analyzis