从mysql查询中的两个表返回带有计数的数据
我的数据库中有两个表;小组和成员。 组有以下列:id、名称、描述、所有者id、学校id 成员有以下列:id、用户id、组id 我想返回组中的所有记录,在每一行上,它应该对members表进行计数,以确定每个组有多少成员 所以我的最终结果应该是这样的: id、名称、描述、所有者id、学校id、计数(来自成员表)从mysql查询中的两个表返回带有计数的数据,mysql,count,Mysql,Count,我的数据库中有两个表;小组和成员。 组有以下列:id、名称、描述、所有者id、学校id 成员有以下列:id、用户id、组id 我想返回组中的所有记录,在每一行上,它应该对members表进行计数,以确定每个组有多少成员 所以我的最终结果应该是这样的: id、名称、描述、所有者id、学校id、计数(来自成员表) 我一直在尝试,但有时当我只有2个组但有3个成员时,我会返回5行,而不是2行。执行此操作的标准方法是使用COUNT()、左连接和分组方式: SELECT g.*, COUNT(m.id) a
我一直在尝试,但有时当我只有2个组但有3个成员时,我会返回5行,而不是2行。执行此操作的标准方法是使用
COUNT()
、左连接和分组方式:
SELECT g.*, COUNT(m.id) as member_count
FROM groups g
LEFT JOIN members m
ON m.group_id = g.id
GROUP BY g.id
为了提高性能,请确保在成员.组id
上有索引