例如,我有这个表“汽车”
id | name
--------------
2 | Mercedes
5 | Mercedes
6 | Mercedes
7 | BMW
9 | BMW
我想从这个表中删除所有行,除了行,其中每个汽车的 id 是最大的。也就是说,我想删除后,在表中只剩下这几行:
6 | Mercedes
9 | BMW
我写了这个查询,但这不起作用(也不返回错误)。
DELETE FROM autos WHERE id NOT IN (
SELECT id FROM (
SELECT MAX(id) FROM autos GROUP BY name
) AS t
)
请告诉我,这个怎么做?