请教一个SQL语句,查询的。
比如我有一个学生表
id name
1 a
2 b
另外有一个选课表,记录每个学生选了什么课。
我想用一个sql查询出这样的结果:
id name countClass
1 a 5
2 b 4
怎样写?我记得有个函数可以在一个查询结果后拼接另一个查询的结果,但是想不起来时什么函数了。
求教!
------解决方案--------------------不需要函数,直接写sql就xing
select a.id,a.name,b.count from students left join (select count(*) as count from class group by name) as b on a.name=b.name
------解决方案--------------------SELECT `a`.`id`,`a`.`name`, COUNT(`b`.`s_id`) AS `count_class` FROM `a` LEFT JOIN `b` ON `a`.`id` = `b`.`s_id` GROUP BY `b`.`s_id`;