sql语句的问题,有什么好办法

a表,学校表, 有字段id, areaId(省市区字段)
b表,师生表,有字段id, schoolId;
a.id = b.schoolId;

现在我想按照areaId进行分组,获取地区的学校数与师生数。

结果为:
地区 学校数 师生数
a区 300, 30000
b区, 342, 23459
等等

有没有一句sql就能获取这种形式的结果?

一个简单的关联后再count而已

select areaId,
count(distinct a.id) 学校数,
count(1) 师生数 
from a,b 
where a.id=b.schoolId 
group by areaId

join之后
sum case when 就可以实现

select a.areaId,count(a.id),count(b.id) 师生表 b,学校表 a where a.id = b.schoolId group by a.areaId ,还有你这问题描述的不够好。大概就这样了,根据地区分组