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,

-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Reply via email to