我有一个简单的问题:如何在SQL(准确地说是Oracle)中使用Count(Distinct)来仅返回给定字段中具有两个或多个不同值的行。
通过示例更容易理解:
ACCOUNT SALESMAN
123 Abc
123 Abc
246 Abc
246 Def
246 Def
369 Hij
456 Abc
456 Def
在此示例中,唯一的销售代表具有2个不同的帐户分别是246和456,因此,我希望查询结果仅显示由2个或更多销售人员共享的帐户:
ACCOUNT SALESMAN
246 Abc
246 Def
456 Abc
456 Def
谢谢。
最佳答案
使用having
:
select distinct account,salesman
from MyTable where account in
(
select account
from MyTable
group by account
having count(distinct salesman) >= 2
)
order by 1,2
这是一个demonstration。
关于sql - 使用不重复计数在字段中查找具有2个或更多不同值的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12534177/