当前位置: 首页 > 面试题库 >

如何删除没有临时表的MySQL表中的所有重复记录

阳兴文
2023-03-14
问题内容

我已经看到了许多变化,但是没有什么与我要完成的工作完全匹配。

我有一张表格,TableA其中包含用户对可配置问卷的回答。列为member_id, quiz_num, question_num, answer_num

不知何故,一些成员两次提交了答案。因此,我需要删除重复的记录,但要确保保留一排。

没有 列,因此可能有两行或三行的数据完全相同。

是否有查询以删除所有重复项?


问题答案:

在表上添加 唯一索引

ALTER IGNORE TABLE `TableA`   
ADD UNIQUE INDEX (`member_id`, `quiz_num`, `question_num`, `answer_num`);

另一种方法是:

在表中添加主键,然后可以使用以下查询轻松地从表中删除重复项:

DELETE FROM member  
WHERE id IN (SELECT * 
             FROM (SELECT id FROM member 
                   GROUP BY member_id, quiz_num, question_num, answer_num HAVING (COUNT(*) > 1)
                  ) AS A
            );


 类似资料:
  • 问题内容: 我想知道如何/是否有可能删除所有临时表的查询? 我一直在尝试使用tempdb.sys.tables解决问题,但是正在努力格式化name列使其可以被删除- 另一个使事情变得棘手的因素是,temp表名称通常包含’_’意味着进行替换变得更麻烦了(至少对我而言!) 有什么我可以使用的方法,可以删除所有临时表(本地或全局),而不必分别删除所有临时表? 谢谢! 问题答案: 临时表的要点是它们是..

  • 问题内容: 请使用以下tsql查询: 我知道它在做什么,但是逻辑的最后一部分(对于每个重复集,在– insert一行之后)没有意义。在我们有用于删除所有重复行的代码集的地方,这消除了重复行,那么上一节的内容是什么? 该查询发现这里 谢谢 问题答案: 在我们有用于删除所有重复行的代码集的地方,这消除了重复行,那么上一节的内容是什么? 首先,它删除曾经有重复的所有行。也就是说,所有行,并且原始也。在上

  • 问题内容: 嗨,在这里我遇到了一种情况,即由于错误地没有删除表,我已经运行了该表的批处理文件,该文件由一些详细的插入语句组成 我有一个像alert_priority的表由类似 现在错误地没有删除 alert_priority 我已经执行了表的脚本文件,其中包含一些插入语句,现在执行脚本后,我在表中的记录就像 现在,我想删除多余的记录(Id 3之后的记录),并且在执行脚本文件之前,我应该拥有所有存在

  • 问题内容: 我将如何使用python检查列表并删除所有重复项?我不需要指定重复项是什么- 我希望代码找出是否存在重复项,如果有则将其删除,每个重复项仅保留一个实例。如果列表中有多个重复项,它也必须起作用。 例如,在下面的代码中,列表lseparatedOrbList有12个项目-一项被重复六次,一项被重复五次,并且只有一个实例。我希望它更改列表,因此只有三项-每一项,并且它们之前出现的顺序相同。我

  • 问题内容: 这个问题已经在这里有了答案 : 在MySQL中删除重复的行 (25个答案) 3个月前关闭。 如何从MySQL表中删除所有重复数据? 例如,具有以下数据: 我会使用,如果它是一个查询。 我该怎么做才能只删除重复项并仅保留每个记录一个? 问题答案: 编辑者警告:此解决方案的计算效率低下,可能会降低大型表的连接。 注意:您 需要 首先在表的 测试副本 上执行此操作! 完成此操作后,我发现,除

  • 问题内容: 我已向客户提供以下查询,以删除重复的电话号码。记录在MSSQL数据库中,但现在他们也需要在MySQL上进行记录,并且他们报告MySQL抱怨查询的格式。我已经包含了一个测试表的设置,该测试表具有重复的代码示例,但是真正重要的是删除查询。 我在无知和紧急情况下问这个问题,因为我仍在忙于下载和安装MySQL,在此期间也许有人可以提供帮助。 问题答案: 通往罗马的途径很多。这是一。非常快。因此