[英]subquery on two tables with left join
我有两张桌子,一张球员桌和一张技能桌。 我想在玩家表中找到最常见的技能类型。 我正在尝试练习使用子查询。 像这样的示例的子查询将如何工作? 下面是表格和我的尝试。
球员表
+-------------+------------------+
| player_name | player_skills_id |
+-------------+------------------+
| player 1 | 1 |
+-------------+------------------+
| player 2 | 2 |
+-------------+------------------+
| player 3 | 2 |
+-------------+------------------+
| player 4 | 1 |
+-------------+------------------+
| player 5 | 1 |
+-------------+------------------+
| player 6 | 1 |
+-------------+------------------+
技能表
+------------------+---------------+
| player_skills_id | player_skills |
+------------------+---------------+
| 1 | bad |
+------------------+---------------+
| 2 | good |
+------------------+---------------+
| 3 | great |
+------------------+---------------+
我想要的表:
+---------------+-------+
| player skills | count |
+---------------+-------+
| bad | 4 |
+---------------+-------+
| good | 2 |
+---------------+-------+
| great | 0 |
+---------------+-------+
我的尝试:
SELECT players.player_name
FROM players
LEFT JOIN skills
ON players.player_skills_id = skills.player_skills_id;
/* I am not sure how the subquery part works from here */
这将列出每个技能级别以及每个级别的玩家数量。
SELECT s.player_skills, COUNT(*) AS count
FROM skills s
LEFT JOIN players p ON s.player_skills_id = p.player_skills_id
GROUP BY s.player_skills_id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.