我有两张桌子:'球队'和' team_members',
Table : 'teams'
__________________
| id | name |
|-----------------|
| 1 | t1 |
| 2 | t2 |
| 3 | t3 |
|-----------------|
table : team_members
_______________________________
| id | team_id | user_id |
|-------------------------------|
| 1 | 1 | 2 |
| 2 | 1 | 2 |
| 3 | 2 | 1 |
| 4 | 2 | 1 |
| 5 | 2 | 1 |
|-------------------|------------
我如何让所有团队和每个团队的成员数量如下:
团队t1
有2名成员。
团队t2
有3名成员。
我尝试的是(不工作,只有一个团队成员数量):
SELECT teams.name, count(O.team_id)
as total FROM teams
LEFT JOIN
team_members as O
ON
O.team_id = teams.id
答案 0 :(得分:1)
使用group by it解决了。 这是查询。
SELECT teams.name, COUNT(o.team_id)
AS total FROM teams
LEFT JOIN
team_members AS o
ON
o.team_id = teams.id
GROUP BY o.team_id