繁体   English   中英

MySQL SELECT语句检索唯一的字段值

[英]MySQL SELECT statement to retrieve field value that is unique

例如

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

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

所以期望的输出是:

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

提前致谢 :)。

您可以使用GROUP BYHAVING ,如下所示:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM