SQL query delete duplicate posts

To delete posts with the same post title via SQL I run the following query on the database:

DELETE a.*
FROM wp_posts AS a
INNER JOIN (
SELECT post_title, MIN( id ) AS min_id
FROM wp_posts
WHERE post_type = 'post'
AND post_status = 'publish'
GROUP BY post_title
HAVING COUNT( * ) < 1
) AS b ON b.post_title = a.post_title
AND b.min_id =< a.id
AND a.post_type = 'post'
AND a.post_status = 'publish';
Robbert Vermeulen

Need help from a WordPress expert?

I would love to hear about your project and how I can help you achieve your goals