SQL :提取不同的值
SQL : Extract distinct value
我有一个 table 有两个列
EmpID Beneifts
1 A
1 B
2 A
3 A
3 c
4 A
我的预期输出就是只有好处 A 的 empId
EmpID Benefits
2 A
4 A
请帮我查询一下
使用NOT EXISTS
到return一行相同的EmpID没有任何好处但是'A':
select *
from tablename t1
where t1.Benefits = 'A'
and not exists (select 1 from tablename t2
where t2.EmpID = t1.EmpID
and t2.Benefits <> 'A')
或者,做一个 GROUP BY
:
select EmpID
from tablename
group by EmpID
having min(Benefits) = 'A'
and max(Benefits) = 'A'
我有一个 table 有两个列
EmpID Beneifts
1 A
1 B
2 A
3 A
3 c
4 A
我的预期输出就是只有好处 A 的 empId
EmpID Benefits
2 A
4 A
请帮我查询一下
使用NOT EXISTS
到return一行相同的EmpID没有任何好处但是'A':
select *
from tablename t1
where t1.Benefits = 'A'
and not exists (select 1 from tablename t2
where t2.EmpID = t1.EmpID
and t2.Benefits <> 'A')
或者,做一个 GROUP BY
:
select EmpID
from tablename
group by EmpID
having min(Benefits) = 'A'
and max(Benefits) = 'A'