gpt4 book ai didi

mysql - 在 PhpMyAdmin 中使用 SQL 删除列出的记录中的重复项

转载 作者:行者123 更新时间:2023-11-29 07:24:35 24 4
gpt4 key购买 nike

我使用此命令在数据库中查找 city 列中具有相同值的记录:

SELECT city, COUNT(*) c FROM allCity GROUP BY city HAVING c > 1;

当我在 PhpMyAdmin 中运行它时,我得到一个包含两列的巨大列表,第一列是city,第二列称为c。我假设 c 列中的数字显示重复条目的数量,但我无法真正列出重复项,但也许不需要。

所以我的目标是从运行上述命令后获得的列表中删除所有重复项。不幸的是,这是我第一次使用 sql 命令,因此如果有人可以告诉我应该如何扩展现有代码或者我应该实现什么才能做到这一点,我将非常感激?基本上我只想删除 city 列具有相同值的每条记录(第一条记录除外)。例如,如果我有 3 条记录,其中 city 列中的值为 New York,我想删除两条并保留一条。删除哪两个并不重要。

最佳答案

如果存在其他同名但 ID 较小的城市,则删除该城市。所以最后只有小id会保留在db中。

DELETE FROM allCity AS c
WHERE exists (select tid
from allCity c2
where c2.name = c.name
and c2.id < c.id);

关于mysql - 在 PhpMyAdmin 中使用 SQL 删除列出的记录中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34955087/

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