Как удалить несколько дублированных строк

Я пытаюсь удалить некоторые дублированные строки моей таблицы. Я начинаю с выбора всех дублированных строк, выполнив этот запрос:

SELECT a.id as id FROM table A join table B on A.site = B.site where A.nb_affichages = B.nb_affichages and A.nb_clics = A.nb_clics 

Затем я пытаюсь удалить все выбранные идентификаторы из первого запроса:

 DELETE FROM table WHERE id IN ( SELECT * FROM ( SELECT a.id as id FROM table A join table B on A.site = B.site where A.nb_affichages = B.nb_affichages and A.nb_clics = A.nb_clics) AS p ) 

Этот второй запрос удаляет все строки, выбранные в первом, вместо этого я хочу разрешить одну строку и удалить остальные.

Поэтому каждый может помочь мне оптимизировать этот запрос.

Он сохранит первые данные с дублирующимся значением и удалит все остальные значения дублированных значений.

 DELETE c1 FROM table c1, table c2 WHERE c1.nb_affichages = c2.nb_affichages AND c1.nb_clics = c2.nb_clics AND c1.site = c2.site AND c1.id > c2.id;