gpt4 book ai didi

mysql - 根据重复的列值删除行/条目

转载 作者:行者123 更新时间:2023-11-29 00:12:48 27 4
gpt4 key购买 nike

我有一个名为 prospective_shop 的表,其中一个列名称是“用户名”。用户名未设置为主键,但我想删除所有具有重复用户名的行。我怎样才能以最快的方式做到这一点?

我尝试执行以下操作:

ALTER IGNORE TABLE  `prospective_shop` ADD UNIQUE INDEX idx_name (username);

然后它给了我:

 Duplicate entry 'calista_shopp' for key 'idx_name'

最佳答案

delete from prospective_shop
where id not in
(
select * from
(
select min(id)
from prospective_shop
group by username
) x
)

您可以只删除不是每个唯一用户名的第一条记录的所有记录。通过为每个用户名组选择 min(id)`,您可以确保不删除那些用户名组,而是删除所有其他用户名组。

在 MySQL 中,您不能同时从您正在选择的表中删除。您可以像我一样通过使用另一个子选择来欺骗引擎。 x 只是临时表的别名。

关于mysql - 根据重复的列值删除行/条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24254021/

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