在没有 CTE 的情况下删除 MySql 中的多行
Delete multiple rows in MySql without CTE
我有一个包含大约 7000 辆汽车的数据库,但不幸的是,只有大约 1000 辆是唯一的。我可以删除所有重复的行吗?
架构如下所示:
谢谢!
这是一种方法:
delete t1
from mytable t1
inner join mytable t2
on t2.brand = t1.brand
and t2.model = t1.model
and t2.id < t1.id
这将删除 (brand, model)
上的重复项,同时保留 ID 最小的那个。
我有一个包含大约 7000 辆汽车的数据库,但不幸的是,只有大约 1000 辆是唯一的。我可以删除所有重复的行吗?
架构如下所示:
谢谢!
这是一种方法:
delete t1
from mytable t1
inner join mytable t2
on t2.brand = t1.brand
and t2.model = t1.model
and t2.id < t1.id
这将删除 (brand, model)
上的重复项,同时保留 ID 最小的那个。