gpt4 book ai didi

mysql - 删除指定列中具有重复/重复数据的行

转载 作者:行者123 更新时间:2023-11-30 22:20:49 24 4
gpt4 key购买 nike

我需要删除重复的记录(仅当 cod1 和模型重复时)并只保存其中一个。

ID Cod1 Model
1 332 mdl1
2 332 mdl1
3 332 mdl2
4 450 mdl2
5 450 mdl2

输出必须是

ID  Cod1  Model
1 332 mdl1
3 332 mdl2
4 450 mdl2

非常感谢!

最佳答案

试试这个。将出现的 Table1 替换为您的实际表名。

DELETE FROM Table1 WHERE ID IN
(SELECT * FROM
(SELECT T2.Id
FROM Table1 T1
INNER JOIN Table1 T2
ON T1.Cod1 = T2.Cod1 AND T1.Model = T2.Model
WHERE T2.ID > T1.ID
)T
);

sqlfiddle

在最内层查询中,当Cod1和Model匹配时,T1会找到匹配的T2记录,T2.Id将是较大的id。所以它返回要删除的行的 ID。但是 Mysql 不允许您从来自同一个表的查询中删除,因此我们必须将其包装在另一个 SELECT 语句中以欺骗 Mysql 让您这样做。就是这样。

关于mysql - 删除指定列中具有重复/重复数据的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36682124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com