我有两张桌子: team和team_member。team_member表显示哪个用户是哪个团队的成员。
+---------+------------+
| team_id | name |
+---------+------------+
| 1 | Marketing |
| 2 | New Launch |
| 3 | Sales |
+---------+------------+
+---------+---------+
| user_id | team_id |
+---------+---------+
| 21 | 2 |
| 4369 | 1 |
| 4369 | 2 |
| 4369 | 3 |
| 100 | 1 |
| 21 | 1 |
+---------+---------+ 我需要一个查询,它告诉我给定的所有团队的team_id和团队名称,以及每个团队中所有成员的计数(这是困难的部分)。
对于上面的数据,如果我们查看用户21,我希望看到下面的输出,因为用户21是团队1和团队2的成员,团队1有3名成员,团队2有2名成员。
+---------+------------+-------+
| team_id | name | count |
+---------+------------+-------+
| 1 | Marketing | 3 |
| 2 | New Launch | 2 |
+---------+------------+-------+知道我如何在SQL中做到这一点(最好是MySQL,如果这有区别的话)?获得前2列没有问题(见底部),但我不知道如何添加计数。谢谢!
SELECT team.team_id, team.name
FROM team
LEFT JOIN team_member ON team.team_id = team_member.team_id
WHERE team_member.user_id = 21https://stackoverflow.com/questions/59494393
复制相似问题