Mysql 如何检索子查询的父信息?

Mysql 如何检索子查询的父信息?,mysql,sql,Mysql,Sql,因此,我有两个表格社区和社区成员。在communities_members表中,与communities表类似,即如果有两个社区:community 1和community 2,那么如果我加入community 1,现在将有一个communities_members,其中communities id=1 所以现在我想执行一个查询,它查看所有社区,并按成员数量对它们进行排序 我遇到的问题是: SELECT * FROM communities ORDER BY (SELECT COUNT(*) F

因此,我有两个表格社区和社区成员。在communities_members表中,与communities表类似,即如果有两个社区:community 1和community 2,那么如果我加入community 1,现在将有一个communities_members,其中communities id=1

所以现在我想执行一个查询,它查看所有社区,并按成员数量对它们进行排序

我遇到的问题是:

SELECT * FROM communities ORDER BY (SELECT COUNT(*) FROM community_members WHERE community_id=?)
我把问号放在我希望父查询中找到的社区id在子查询中的位置,也就是说,如果它首先检查社区1(社区id为1),那么我希望统计社区成员中社区id等于第一个社区id的所有行


请帮忙

如果我理解正确,那么您可以使用连接

SELECT c.name,count(*) as total_member
FROM communities c join community_members cm on c.community_id=cm.community_id
group by c.name
order by total_number desc

如果我理解正确,那么您可以使用连接

SELECT c.name,count(*) as total_member
FROM communities c join community_members cm on c.community_id=cm.community_id
group by c.name
order by total_number desc