根据另一列的值删除重复项

苏zy

我有一个包含3列的表格,第一列是“名称”。有些名称输入了两次,有些输入了3次,然后又输入了更多。我想为每个名称保留一个值,并根据第2列和第3列的值删除多余的行。如果第2列和第3列为空,我想删除该行。没有主键或id列。表格中大约有275万行。想要在SQL 14中使用一个查询(最好是一个查询)删除。有人可以帮忙吗?

Name    column2 column3
Suzy    english  null
Suzy    null    null
Suzy    null     5
John    null    null
John    7        7
George  null    benson
George  null    null
George  benson  null    
George  5       benson  

希望将其作为:

Name    column2 column3
Suzy    english  null   
Suzy    null     5  
John     7       7
George  benson   null
George  5        benson     

提前谢谢了。

波希米亚风格

通过适当的顺序使用名称上的分区:

WITH cte as (
  SELECT ROW_NUMBER()
    OVER (PARTITION BY name
          ORDER BY case
            when column1 = 'null' and column2 = 'null' then 3
            when column2 = 'null' then 2
            when column1 = 'null' then 1
            else 0 end
    ) num 
  FROM mytable
)
delete from cte where num > 1

这将删除重复项,并按优先级顺序保留行:

  1. column1和column2都不为空(如果存在多个,则保留一个随机数)
  2. column1不为null
  3. column2不为null
  4. column1和column2均为null

请注意,查询假设(基于对问题的评论)假设您的“ null”值实际上是文本字符串“ null”,而不是SQL null

如果它们实际上是空值,则替换= 'null'IS NULL

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据另一列的值删除重复项

来自分类Dev

根据另一列删除重复项

来自分类Dev

R-根据另一列中的重复项和值删除行

来自分类Dev

根据另一列中的值从数据集中删除重复项

来自分类Dev

根据层次结构中的另一列删除一列中的重复项

来自分类Dev

根据另一列删除一列中的重复项

来自分类Dev

根据另一列中的唯一值查找一列中的重复项

来自分类Dev

根据一列删除重复项,然后将“较旧的”重复项移至另一张纸上

来自分类Dev

如果存在重复项,则根据另一列选择值

来自分类Dev

SQL语句根据另一列中的值消除重复项

来自分类Dev

删除重复项,其中同一行中另一列的值= 0

来自分类Dev

通过另一列中的唯一值删除重复项

来自分类Dev

根据一列的信息删除重复项

来自分类Dev

如果另一列中的值为空,则删除重复项-Pandas

来自分类Dev

如何根据另一列的值删除重复的行(在Excel中)?

来自分类Dev

根据Pandas df中另一列中的最大值删除重复行

来自分类Dev

删除重复项,并根据R中的另一列确定要删除的行的优先级

来自分类Dev

根据另一个列值在Excel中删除重复项

来自分类Dev

根据一列值删除重复的行

来自分类Dev

根据另一列中的重复值过滤一列中的唯一值

来自分类Dev

根据另一列的条件删除一列中重复的行

来自分类Dev

根据另一列的条件删除一列中重复的行

来自分类Dev

如何根据一列中的值对数据进行分类,并计算另一列中的出现次数(不包括R中的重复项)?

来自分类Dev

根据特定列值删除重复项

来自分类Dev

将一个SQL列合并到另一列中,并删除重复项

来自分类Dev

使用Dplyr从另一列中使用条件从另一列中删除重复项

来自分类Dev

使用Dplyr从另一列中使用条件从另一列中删除重复项

来自分类Dev

如何根据另一列的特定值从一列中删除NaN

来自分类Dev

python-在列中查找重复项,在另一列中替换该重复项的值

Related 相关文章

  1. 1

    根据另一列的值删除重复项

  2. 2

    根据另一列删除重复项

  3. 3

    R-根据另一列中的重复项和值删除行

  4. 4

    根据另一列中的值从数据集中删除重复项

  5. 5

    根据层次结构中的另一列删除一列中的重复项

  6. 6

    根据另一列删除一列中的重复项

  7. 7

    根据另一列中的唯一值查找一列中的重复项

  8. 8

    根据一列删除重复项,然后将“较旧的”重复项移至另一张纸上

  9. 9

    如果存在重复项,则根据另一列选择值

  10. 10

    SQL语句根据另一列中的值消除重复项

  11. 11

    删除重复项,其中同一行中另一列的值= 0

  12. 12

    通过另一列中的唯一值删除重复项

  13. 13

    根据一列的信息删除重复项

  14. 14

    如果另一列中的值为空,则删除重复项-Pandas

  15. 15

    如何根据另一列的值删除重复的行(在Excel中)?

  16. 16

    根据Pandas df中另一列中的最大值删除重复行

  17. 17

    删除重复项,并根据R中的另一列确定要删除的行的优先级

  18. 18

    根据另一个列值在Excel中删除重复项

  19. 19

    根据一列值删除重复的行

  20. 20

    根据另一列中的重复值过滤一列中的唯一值

  21. 21

    根据另一列的条件删除一列中重复的行

  22. 22

    根据另一列的条件删除一列中重复的行

  23. 23

    如何根据一列中的值对数据进行分类,并计算另一列中的出现次数(不包括R中的重复项)?

  24. 24

    根据特定列值删除重复项

  25. 25

    将一个SQL列合并到另一列中,并删除重复项

  26. 26

    使用Dplyr从另一列中使用条件从另一列中删除重复项

  27. 27

    使用Dplyr从另一列中使用条件从另一列中删除重复项

  28. 28

    如何根据另一列的特定值从一列中删除NaN

  29. 29

    python-在列中查找重复项,在另一列中替换该重复项的值

热门标签

归档