gpt4 book ai didi

mysql - 删除mysql中的重复行,只保留id最小的

转载 作者:行者123 更新时间:2023-11-29 06:10:15 25 4
gpt4 key购买 nike

我想删除除 id 之外的所有列中具有相同值的所有行,除了具有最低 id 的行。
鉴于此数据:

id year file name language download
1 2014 a x h d
2 2014 a c i d
3 2014 a x h d
4 2014 a x h d
5 2015 b y j d
6 2015 b y j d
7 2015 b y j d

这里我想删除 3 和 4(留下 1 - 最低的 id),并删除 6、7(留下 5)。

“匹配”意味着两行具有相同的“年份”、"file"、“名称”、“语言”和“下载”。

可能有 10 个以上的重复行。我想删除所有行,但保留最低 ID 行。

最佳答案

使用带有自连接的 mysql 的多表删除语法:

delete b
from mytable a, mytable b
where b.year = a.year
and b.file = a.file
and b.name = a.name
and b.language = a.language
and b.download = a.download
and b.id > a.id -- this condition picks the higher id(s) for deletion

这应该表现得很好,因为它本质上是一个单一的连接。

关于mysql - 删除mysql中的重复行,只保留id最小的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38667570/

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