【问题标题】:select duplicate columns in sql server [duplicate]在sql server中选择重复的列[重复]
【发布时间】:2015-05-06 17:57:33
【问题描述】:

表 1

Id    Name
1     xxxxx
1     ccccc
2     uuuuu
3     ddddd

我想选择Id 有多个具有相同Id 的条目的位置

如何做到这一点?

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    您可以找到具有多个条目的ids,然后使用LEFT JOIN/IS NOT NULL 模式从原始表中检索相应的数据:

    SELECT t1.* 
    FROM tbl t1 
    LEFT JOIN ( SELECT id 
                FROM tbl 
                GROUP BY id 
                HAVING COUNT(*) > 1) t2 ON t1.id = t2.id 
    WHERE t2.id IS NOT NULL
    

    其他可能的解决方案包括使用EXISTSIN 子句代替LEFT JOIN/IS NOT NULL

    【讨论】:

      【解决方案2】:

      ranking functions

      Y as (
      select *, count(*) over (partition by id) counter
      from X)
      select id, name from Y where counter > 1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-06
        • 2019-06-13
        • 2019-06-28
        • 1970-01-01
        • 2019-01-31
        相关资源
        最近更新 更多