比如我有一个学生表id      name     
1        a
2        b另外有一个选课表,记录每个学生选了什么课。我想用一个sql查询出这样的结果:id     name     countClass
1       a        5
2       b        4怎样写?我记得有个函数可以在一个查询结果后拼接另一个查询的结果,但是想不起来时什么函数了。求教!

解决方案 »

  1.   

    countClass表示 某个学生选修了多少门课。
      

  2.   

    不需要函数,直接写sql就xingselect 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
      

  3.   

    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`;
      

  4.   

    thank u!very very much!