pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Louis-David Mitterrand <vindex+lists-pgsql-sql@apartia.org>
To: pgsql-sql@postgresql.org
Subject: "compressing" consecutive values into one
Date: Tue, 23 Nov 2010 16:19:19 +0100
Message-ID: <20101123151918.GA22094@apartia.fr> (raw)

Hi,

On time series price data I'm trying to remove consecutive identical
prices and keep only the latest. I tried:

	delete from price where id_price in (select t.id_price2 from (select
			first_value(p.id_price) over w as id_price1,
			nth_value(p.id_price, 2) over w as id_price2,
			first_value(p.price) over w as price1,
			nth_value(p.price,2) over w as price2
			from price p
			window w as (partition by p.id_rate,p.id_cabin_category,p.id_cruise
			order by p.id_price desc rows between unbounded preceding and
			unbounded following)) as t where price1 = price2);

and it mostly works but I have to do several runs to completely
eliminate identical consecutive prices.

Is there a better, one-pass, way?

Thanks,



view thread (5+ messages)  latest in thread

Message-ID: <20101123151918.GA22094@apartia.fr>
Permalink:  ../20101123151918.GA22094@apartia.fr/
Also on:    postgresql.org/message-id/20101123151918.GA22094@apartia.fr

 · 

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: vindex+lists-pgsql-sql@apartia.org
  Subject: Re: "compressing" consecutive values into one
  In-Reply-To: <20101123151918.GA22094@apartia.fr>

* 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