Мне нужно удалить из моей таблицы (TABLE_X) строки, которые имеют несколько id_B , но сохраняют единственную, которая имеет наибольшее значение id_A . Изображение ниже может быть более исчерпывающим. Я хочу удалить только выделенные строки.
DELETE FROM TABLE_X WHERE id_A NOT IN (SELECT * FROM (SELECT MAX(n.id_A) FROM TABLE_X n GROUP BY n.id_B) x)
Обратите внимание, что ответ взят из следующего потока: Удалить все дублирующиеся строки, кроме одного в MySQL?