I've got below SELECT query selecting duplicate posts, my question is how to change that into DELETE?
SELECT a.ID, a.post_title, a.post_type, a.post_status
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';
Take a look at this:
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';