Hi,

For finding duplicates you can use ctid.

select o.ctid, o.a, o.b from test o
 where exists ( select 'x'
                  from test i
                 where i.a = o.a
                   and i.b = o.b
                   and i.ctid < o.ctid
             );

for deleting,
delete from test
 where exists ( select 'x'
                  from test i
                 where i.a = test.a
                   and i.b = test.b
                   and i.ctid < test.ctid
             );


On Thu, Aug 29, 2013 at 5:09 PM, Arun P.L <aru...@hotmail.com> wrote:

> Hi all,
>
> Is there any way to delete duplicate rows in psql with no unique fields?
>  I have a set of old records with their duplicates in my db and they are
> all having  the same fields. How can I delete duplicates?
>
> Thanks in Advance,
> Arun
>



-- 
Hari

Reply via email to