日期:2014-05-16  浏览次数:20713 次

请教一个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`;