选择具有一列的所有列具有不同的值

jer*_*ayn 7 sql sql-server

在我的表中,一些记录的所有列值都相同,除了一个.我需要编写一个查询来获取这些记录.什么是最好的方法呢?表格是这样的:

 colA  colB colC
   a     b    c
   a     b    d
   a     b    e
Run Code Online (Sandbox Code Playgroud)

获取所有列的所有记录的最佳方法是什么?谢谢大家的帮助.

Gor*_*off 8

假设您知道column3将始终不同,以获取具有多个值的行:

SELECT Col1, Col2
FROM Table t
GROUP BY Col1, Col2
HAVING COUNT(distinct col3) > 1
Run Code Online (Sandbox Code Playgroud)

如果您需要三列中的所有值,则可以将其连接回原始表:

SELECT t.*
FROM table t join
     (SELECT Col1, Col2
      FROM Table t
      GROUP BY Col1, Col2
      HAVING COUNT(distinct col3) > 1
     ) cols
     on t.col1 = cols.col1 and t.col2 = cols.col2
Run Code Online (Sandbox Code Playgroud)