MySQL子查询

时间:2017-06-03 16:02:48

标签: php mysql

我正面临一个有趣的问题。

请看我所拥有的两张桌子的图片 userskill表 enter image description here

Jobskill表 enter image description here

我想要的是什么 我想返回用户ID 17的技能名称和该技能中的工作数量。所以结果应该是这样的

Skill                                NumOfJobs
Advertising and Promotions Manger        2
Advertising Sales Agent                  8

这可能是一个查询,或者我应该运行两个查询? 提前谢谢..

1 个答案:

答案 0 :(得分:5)

SELECT `skill`, COUNT(*) AS `NumOfJobs`
FROM `jobSkill`
INNER JOIN `userSkill` USING ( `skill` )
WHERE `userSkill`.`user`=17
GROUP BY `skill`

基本上,这会将userSkill表限制为这些行,user等于17

之后,我们会掌握所有这些技能并加入jobSkill以获得具有各自技能的所有工作。

最后使用GROUP BYCOUNT(),我们告诉数据库计算每个技能的条目。