How To Find Duplicate Post Meta In WordPress
To locate and compare all duplicate postmeta rows in WordPress, use phpMyAdmin to run the following query:
select T1.post_id, T1.meta_key, T1.meta_value, T1.meta_id, T2.post_id, T2.meta_key, T2.meta_value, T2.meta_id FROM wp_postmeta T1, wp_postmeta T2 WHERE T1.post_id = T2.post_id AND T1.meta_value = T2.meta_value AND T1.meta_key = T2.meta_key AND T1.meta_id > T2.meta_id
To delete duplicate rows, first create a backup of your postmeta table then run the following query:
DELETE T1 FROM wp_postmeta T1 INNER JOIN wp_postmeta T2 WHERE T1.post_id = T2.post_id AND T1.meta_value = T2.meta_value AND T1.meta_key = T2.meta_key AND T1.meta_id > T2.meta_id