根据多个条件删除行

时间:2019-10-24 16:02:22

标签: mysql database phpmyadmin

我需要从表(TABLE_X)中删除具有多个 id_B 的行,但保留唯一具有最大 id_A 值的行。下图可能更详尽。 我只想删除突出显示的行。

enter image description here

1 个答案:

答案 0 :(得分:1)

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)

请注意,答案来自以下线程: Delete all Duplicate Rows except for One in MySQL?