【问题标题】:Delete values which are appeared more than one in a table删除在表格中出现多个的值
【发布时间】:2020-10-29 19:20:02
【问题描述】:

我有一个特定值在表格的一列中出现多次。我只想为那张唱片保留一次。怎么做?例如,从这张表中,我只想保留 63 条记录。请看表。

enter image description here

【问题讨论】:

标签: mysql sql distinct distinct-values


【解决方案1】:

您可以使用Row_Number() 为每个重复项指定一个数字,然后删除其值大于一个的值

  delete  tbl
    from    ( SELECT 
                *,ROW_NUMBER() OVER (
              PARTITION BY 
                row_number
              ORDER BY 
                Date) rn
    where   rn > 1

【讨论】:

  • 您好 Mustafa,我还有 10 个其他维度和指标,是否需要在 PARTITION BY 子句之后包含所有这些维度和指标。
  • 可以详细解释一下吗?
  • 请看图片。我在表中有日期、小时、Activity_Group_ID、Activity_ID、成本等。
  • 您需要在 (PARTITION BY) 子句中包含您不希望有重复值的列。这取决于你
  • 您好穆斯塔法,感谢您的帮助。我正在使用大查询。它显示了意外的关键字 FROM。
猜你喜欢
  • 2018-03-26
  • 2020-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-12
相关资源
最近更新 更多