例如
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
提前谢谢:)。
最佳答案
您可以使用GROUP BY
和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