我有一张这样的表:
S_Name C_ID
'A' 123
'B' 456
'A' 123
'A' 123
'C' 789
'B' 456
'C' 098
'C' 456
'B' 456
我只想要那些C_ID不会改变的S_Name。
我想要的答案是:
S_Name C_ID
'A' 123
'B' 456
' C'不能在结果中,因为它的C_ID在不同的地方是不同的。
答案 0 :(得分:2)
在group by
上使用s_name
,同时确保每个分组的count
个c_id
值为1
,这应该可以解决问题。
select s_name, max(c_id)
from tbl
group by s_name
having count(distinct c_id) = 1
答案 1 :(得分:2)
SELECT
S_Name,
MAX(C_ID) as C_ID
FROM
myTable
GROUP BY
S_Name
HAVING
Count(DISTINCT C_ID) = 1