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

删除重复的行

乐正烨熠
2023-03-14
问题内容

我有一张看起来像这样的桌子

表格1

ID,名称

如何编写查询以删除所有具有重复名称的行,但保留具有较低ID的行?


问题答案:

如果您使用的是SQL Server 2005或更高版本:

With Dups As
    (
    Select Id, Name
        , Row_Number() Over ( Partition By Name Order By Id ) As Num
    From Table1
    )
Delete Table1
Where Id In (
            Select Id
            From Dups
            Where Num > 1
            )

如果使用SQL Server 2000及更低版本

Delete Table1
Where Exists    (
                Select 1
                From Table1 As T1
                Where T1.Name = Table1.Name
                Having Min( T1.Id ) <> Table1.Id
                )


 类似资料:
  • 请注意,在转向您之前,我已经浏览了各种帖子。事实上,我尝试实现中提供的解决方案:基于“notin”条件从数据帧中删除行 我的问题如下。让我们假设我有一个巨大的数据帧,我想删除重复的数据帧。我很清楚我可以使用drop_duplicates,因为这是最快的最简单的方法。然而,我们的老师希望我们创建一个包含重复项ID的列表,然后根据这些值是否包含在上述列表中删除它们。 现在,让我们看看输出: 因此,我得

  • 问题内容: 我在存储的过程中有一个字符串,类似于或 从上面的字符串中,我必须从中删除多个逗号,它必须看起来像 或仅在 then时 。我必须仅使用Sql Server函数。我正在使用Sql Server 2008和.Net 3.5 提前致谢。 问题答案: 该选项适用于仅使用逗号或最多398个连续逗号的字符串。 如果需要更多,在顶部添加额外的2的幂,或者如果需要较少,则从顶部删除2的幂。每个阶段的注释

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

  • 本文向大家介绍pandas 删除重复,包括了pandas 删除重复的使用技巧和注意事项,需要的朋友参考一下 示例 用途drop_duplicates: 当您不想获取数据框的副本,而要修改现有的数据框时:            

  • 问题内容: 我需要执行分组依据,但只能在满足条件的行上执行,否则返回不满足条件的所有行。例如,在下表中,我只希望对“活动”字段中具有“ 1”的行进行分组,并返回所有没有的行。 表格(ID,标签,有效): 将返回: 问题答案: 这是我能想到的最简单的方法。这是group by中的一个案例。如果满足条件,则按标签分组,否则按主键分组。 如果要按活动分组并标记: 编辑:我误解了您要分组的字段。现在已更正

  • 我有一个数据帧(df) 我试图删除任何具有相同snap_time索引的行 我试过: 但它没有删除重复的行。 本例的预期输出为: