比较同一字段中的重复值

时间:2014-05-05 08:00:59

标签: sql

这是我的表

DNAME           CITY
---------------------
OPERATOR        BOSTON
RESEARCH        BOSTON
RESEARCH        DALLAS
SALES           DALLAS
SALES           BOSTON
INSURANCE       NEW YORK

我想要做的是找到位于波士顿或达拉斯的所有部门的名称,而不是两个城市。

预期结果应仅显示'操作员'

我应该如何在sql查询中使用select语句?我应该使用UNION还是INTERSECT?

2 个答案:

答案 0 :(得分:3)

select DNAME
from YourTable
WHERE City in ('BOSTON', 'DALLAS')
GROUP BY DNAME
having count(distinct City) = 1

SqlFiddle

答案 1 :(得分:0)

然后如果重复值怎么办?

DNAME           CITY
---------------------
OPERATOR        BOSTON
RESEARCH        BOSTON
RESEARCH        DALLAS
SALES           DALLAS
SALES           DALLAS
INSURANCE       NEW YORK
根据您的查询,

结果会是这样吗?

Name     Count
OPERATOR 1
SALES    2