sql - How do I delete one row for two duplicate entries in a postgres table? -


the 2 rows have same columns except timestamp column - created_at

i want retain 1 of these rows - doesn't matter which.

this how able select 1 of each of these duplicate rows can delete on basis of created_at column has lesser value.

 select e.id, e.user_id, e.r_needed, e.match, e.status, e.stage, e.created_at      employee e, employee e2 e.id=e2.id , e.user_id=e2.user_id ,       e.status = 12 , e2.status=12 , e.stage=false , e2.stage=false ,       e.match=true , e2.match=true , e.user_id=12 , e.r_needed=true , e2.r_needed=true      , e.created_at<e2.created_at , date(e.created_at)='2015-10-08'; 

however, cannot figure how can delete row such both of duplicates not deleted , ones selected above do?

basically, want delete rows match columns in select query above , row has lesser value created_at.

my table has no primary key or unique key.

you can use correlated subquery instead of join:

select * employee e exists  ( select * employee e2     e.id=e2.id , e.user_id=e2.user_id       , e.status = 12 , e2.status=12 , e.stage=false       , e2.stage=false , e.match=true , e2.match=true       , e.user_id=12 , e.r_needed=true , e2.r_needed=true      , e.created_at<e2.created_at       , date(e.created_at)='2015-10-08'  ); 

if returns duplicate rows correctly can switch delete instead of select *.


Comments

Popular posts from this blog

php - How to display all orders for a single product showing the most recent first? Woocommerce -

asp.net - How to correctly use QUERY_STRING in ISAPI rewrite? -

angularjs - How restrict admin panel using in backend laravel and admin panel on angular? -