pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: John Lister <john.lister-ps@kickstone.com>
To: pgsql-sql@postgresql.org
Subject: obtaining difference between minimum value and next in size
Date: Wed, 17 Nov 2010 15:11:32 -0000
Message-ID: <3BC753A3784F488F98304300B6E437FD@squarepi.com> (raw)

Hi, I was wondering if it is possible to do this with a single query rather than iterate over all of the rows in an application:

I have a table which for brevity looks like:
create table offers {
  integer id;
  integer product_id;
  double price;
}

where for each product there is a number of offers in this table. Now my question:
Is it possible to obtain the difference between just the minimum price and the next one up per product, so say I have the following data:
id, product_id, price
123, 2, 10.01
125, 2, 10.05
128, 2, 11.30
134, 3, 9.45
147, 3, 11.42
157, 3, 12.08
167, 3, 12.09

then I would like the following returned
product_id, difference
2, .04   (10.05-10.01)
3, 1.97 (11.42-9.45)

,etc


Any ideas?

Thanks

John
--

Got needs? Get Goblin'! - http://www.pricegoblin.co.uk/

view thread (6+ messages)  latest in thread

Message-ID: <3BC753A3784F488F98304300B6E437FD@squarepi.com>
Permalink:  ../3BC753A3784F488F98304300B6E437FD@squarepi.com/
Also on:    postgresql.org/message-id/3BC753A3784F488F98304300B6E437FD@squarepi.com

 · 

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: john.lister-ps@kickstone.com
  Subject: Re: obtaining difference between minimum value and next in size
  In-Reply-To: <3BC753A3784F488F98304300B6E437FD@squarepi.com>

* 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