"compressing" consecutive values into one - Mailing list pgsql-sql

From Louis-David Mitterrand
Subject "compressing" consecutive values into one
Date
Msg-id 20101123151918.GA22094@apartia.fr
Whole thread Raw
Responses Re: "compressing" consecutive values into one  (Louis-David Mitterrand <vindex+lists-pgsql-sql@apartia.org>)
List pgsql-sql
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
unboundedfollowing)) 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,


pgsql-sql by date:

Previous
From: tv@fuzzy.cz
Date:
Subject: Re: Howto "insert or update" ?
Next
From: "Oliveiros d'Azevedo Cristina"
Date:
Subject: Re: "compressing" consecutive values into one