pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bruno Wolff III <bruno@wolff.to>
To: Alain Reymond <arwebmail@skynet.be>
Cc: pgsql-sql@postgresql.org
Subject: Re: How do write a query...
Date: Mon, 6 Jun 2005 11:21:00 -0500
Message-ID: <20050606162100.GA30453@wolff.to> (raw)
In-Reply-To: <429DDBB1.7000204@skynet.be>
References: <429DDBB1.7000204@skynet.be>

On Wed, Jun 01, 2005 at 18:00:49 +0200,
  Alain Reymond <arwebmail@skynet.be> wrote:
> Hello,
> 
> I have the following problem :
> 
> I have a table like
> Id    Num      Date                   AValue
> 1      10         01/01/2005       50
> 2      10         31/05/2005       60
> 3      25         02/02/2005       55
> 4      25         15/03/2005       43
> 5      25         28/05/2005       62
> etc..
> 
> Id is unique, Num is an identification number with duplicates possible,
> date is a ... date and Avalue... a value!
> 
> If we have
> Id    Num      Date                   AValue
> Id1  Num1    Date1                  AValue1
> Id2  Num1    Date2                  AValue2
> 
> The table is ordered on Num+Date.
> What I would like to calculate is (AValue2-AValue1) for a given Num
> (here num1).
> 
> In this case, I would have to calculate
> 60-50 for Num 10
> and
> 43-55, 62-43 for Num 25.
> 
> Do you have any idea if it can be done simply with a request...

I would suggest using a different design. Probably the easiest is to
put the start and end dates and values in one record.

Otherwise you could write a function or have your application read entries
for a particular Num value ordered by date and treat them as pairs.
If any intervals overlap then there really isn't a fix.




view thread (5+ messages)  latest in thread

Message-ID: <20050606162100.GA30453@wolff.to>
Permalink:  ../20050606162100.GA30453@wolff.to/
Also on:    postgresql.org/message-id/20050606162100.GA30453@wolff.to

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: bruno@wolff.to, arwebmail@skynet.be
  Subject: Re: How do write a query...
  In-Reply-To: <20050606162100.GA30453@wolff.to>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox