如何选择多列上具有不同列的非不同行

时间:2015-09-18 12:21:51

标签: sql sql-server

我找到了许多关于选择非独特行的答案,它们按单个列分组,例如电子邮件。但是,在我们的系统中似乎存在一些问题,我们正在获取一些重复数据,除了标识列之外,所有内容都是相同的。

SELECT DISTINCT 
      COLUMN1,
      COLUMN2,
      COLUMN3,
      ...
      COLUMN14
  FROM TABLE1

如何从上面的查询中获取非不同的行?理想情况下,它会包含当前明确缺失的标识列。

2 个答案:

答案 0 :(得分:5)

select COLUMN1,COLUMN2,COLUMN3 
from TABLE_NAME 
group by COLUMN1,COLUMN2,COLUMN3 
having COUNT(*) > 1

答案 1 :(得分:0)

With _cte (col1, col2, col3, id) As
    (
        Select cOl1, col2, col3, Count(*)
          From mySchema.myTable
          Group By Col1, Col2, Col3
          Having Count(*) > 1
    )
Select t.*
From _Cte As c
Join mySchema.myTable As t
On c.col1 = t.col1
And c.col2 = t.col2
And c.col3 = t.col3