1

例如

id   staff_id   skill_id   mainskill
1    1          24         1
2    1          24         0 
3    1          7          0
4    4          24         0
5    4          18         0
6    6          8          0
7    6          18         1

我希望结果仅包含具有在所有数据中仅出现一次的技能 ID 的元组。换句话说,我想检索包含仅由单个工作人员拥有的技能 ID 的元组。

所以期望的输出是:

id   staff_id   skill_id   mainskill
3    1          7          0
6    6          8          0

提前致谢 :)。

4

1 回答 1

3

你可以用GROUP BYand来做HAVING,像这样:

SELECT 
  MAX(id) as id,
  MAX(staff_id) as staff_id, 
  skill_id, 
  MAX(mainskill) as mainskill
FROM MyTable
GROUP BY skill_id
HAVING COUNT(1)=1
于 2013-04-13T16:05:31.290 回答