1

我的桌子:

Col1    Col2
1       xyz
1       abc
2       abc
3       yyy
4       zzz
4       zzz

我有一个有两列的表。我想查询 col1 具有多个 DISTINCT col2 值的记录。在上面给出的示例表中,查询应返回值为“1”的 col1 的记录。

预期查询结果:

Col1    Col2 
1       xyz 
1       abc
4

2 回答 2

4
SELECT *
FROM tableName
WHERE Col1 IN
(
    SELECT Col1
    FROM tableName
    GROUP BY Col1
    HAVING COUNT(DISTINCT col2) > 1
)

SQLFiddle 演示

于 2012-10-16T00:03:18.857 回答
1
select t.col1, t.col2
from (
  select col1
  from tbl
  group by col1
  having MIN(col2) <> MAX(col2)
) x
join tbl t on t.col1 = c.col1
于 2012-10-16T00:05:56.123 回答