给定一个包含列id,选择器,名称的表:
1 | ONE | A
2 | TWO | A
3 | ONE | C
4 | ONE | C
5 | ONE | E
6 | ONE | E
7 | TWO | E
8 | TWO | H
我需要一个查询,它返回所有不同的名称值,其中有多个行,这些行包含至少两个不同的选择器值。 对于上面的例子,我希望A和E是结果。 H不是预期的,因为只有一行。 不期望C,因为所有行都具有相同的选择器。 我可以在选择器列上使用group by和having子句, 但后来我无法选择名称作为结果......
我的尝试
select selector
from mytable
group by selector
having count(*) > 1
答案 0 :(得分:2)
使用Group by
和having
子句。
而不是*
中的count
汇总Distinct column_name
汇总count
来过滤具有多个不同值的群组< / p>
select column3 from yourtable
group by column3
having count(distinct column2)>1
答案 1 :(得分:0)