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

在MySQL中删除重复项

颜新
2023-03-14
问题内容

我有这样的桌子

userid  visitorid   time
1       10          2009-12-23
1       18          2009-12-06
1       18          2009-12-14
1       18          2009-12-18
1705    1678        2010-01-24
1705    1699        2010-01-24
1705    1700        2010-01-24
1712    1           2010-01-25
1712    640         2010-01-24
1712    925         2010-01-25
1712    1600        2010-01-24
1712    1630        2010-01-25
1712    1630        2010-01-24
1713    1           2010-01-24
1713    1           2010-01-23

我想执行一个查询,以除去所有最新的重复项。我希望你有个主意吗?

例如,查询后的表必须是这样的

userid  visitorid   time
1       10          2009-12-23
1       18          2009-12-18
1705    1678        2010-01-24
1705    1699        2010-01-24
1705    1700        2010-01-24
1712    1           2010-01-25
1712    640         2010-01-24
1712    925         2010-01-25
1712    1600        2010-01-24
1712    1630        2010-01-25
1713    1           2010-01-24

问题答案:
Delete from YourTable VersionA
  where VersionA.Time NOT IN
    ( select MAX( VersionB.Time ) Time
         from YourTable VersionB
         where VersionA.UserID = VersionB.UserID
           and VersionA.VisitorID = VersionB.VisitorID )

语法可能需要调整,但是应该做到这一点。此外,您可能希望将子查询预查询到其自己的表FIRST中,然后对该结果集运行DELETE FROM。



 类似资料:
  • 问题内容: 我有一个包含以下字段的表: 现在,我需要删除具有same的行。一种方法是使用以下SQL以及脚本( ): 运行此查询后,我可以使用服务器端脚本删除重复项。 但是,我想知道是否只能使用SQL查询来完成。 问题答案: 一种简单的方法是在3列上添加索引。在编写语句时,请包含关键字。像这样: 这将删除所有重复的行。作为一项额外的好处,重复的将来会出错。和往常一样,您可能需要在运行类似内容之前进行

  • 问题内容: 我有一个注释表,其结构如下: 我有很多重复的评论,名字和电子邮件都一样。我需要删除它们,有人可以建议我如何使用一个查询来实现此目标吗? 谢谢 问题答案:

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

  • 问题内容: 我有一个关于MySql的问题。我有一个带有7.479.194记录的表。有些记录是重复的。我想这样做: 所以我会取出重复的条目…但是问题是这是大量数据。该表是MyIsam。 这是示例数据-我想按城市,short_ccode进行分组… 我想我必须为my.ini文件修改一些内存,以便按语句分组……哪些设置对此负责? 我有一台具有3bg RAM和2Ghz处理器的机器。 我的ini文件: 问题答

  • 问题内容: 我有一张有几千行的表。该表包含两列,和。我有几个重复的行,例如: John Smith | john@smith.com JJohn Smith | john@smith.com JErica Smith | erica@smith.com JErica Smith | erica@smith.com 删除所有重复结果的最简单方法是什么。例如,使表的内容为= 。 问题答案: 您可以很容

  • 本文向大家介绍Mysql删除重复的数据 Mysql数据去重复,包括了Mysql删除重复的数据 Mysql数据去重复的使用技巧和注意事项,需要的朋友参考一下 MySQL数据库中查询重复数据 select * from employee group by emp_name having count (*)>1; Mysql  查询可以删除的重复数据 select t1.* from employee