gpt4 book ai didi

mysql - 如何从允许重复 id 的表中删除重复 id?

转载 作者:行者123 更新时间:2023-11-29 17:44:18 26 4
gpt4 key购买 nike

我有下表的学生,它允许重复的 ID,如下所示:

Table with duplicate Id's .

现在,在此表中,我需要删除所有其他重复记录并保留 id 的任何一个唯一记录。

例如,如果执行删除语句,则应删除 7 条记录,留下 2 条记录,其中一条 id 为“1”,另一条 id 为“2”。

如下图所示:-

[最终预期输出][2]

如何编写单个 SQL 查询来获得上述结果。

下面是我正在尝试的示例 SQL 查询,它抛出编译时错误在 SQL 编辑器中显示为“意外的学生标识符”。

DELETE FROM student as a
WHERE a.sno not in(select b.sno from test.student as b group by b.id);

请帮我找出查询中的错误。

提前致谢。

[2]:/image/Z7tDc.png enter image description here enter image description here

最佳答案

您可以使用您的唯一 key :SNO 来删除它。用于唯一标识删除操作的记录。

delete a.*
from student a
where a.sno not in (
select sno from (
select min(sno) as sno
from student
group by id) tab
);

关于mysql - 如何从允许重复 id 的表中删除重复 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49870283/

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