题目如下:学生表S:Sno(学号),Sname(姓名),Sage(年龄)
选课表SC:Sno(学号),Cno(课程号),Grade(成绩)
课程表C:……
查询每一个年龄对应的选修了课程的人数。

解决方案 »

  1.   


    Select Sage,Count(*) as 人数
    from S
    left join SC
     on S.Sno=SC.Sno
    Group By Sage
      

  2.   

    select Sage,count(*)from S inner join SC
    on S.sno=SC.sno
    group by Sage
      

  3.   

    select Sage,count(Sno)
    from S
    where Sno in(select Sno from SC)
    group by Sage
    貌似这样也可以
      

  4.   

    select count(1) 课程人数 ,cno from 
    SC , S 
    where SC.Sno = S.Sno 
    group by Sage
      

  5.   

    你的这个是根据年龄分组,没按课程分组select sage,cno , count(1) 课程人数 from 
    SC , S 
    where SC.Sno = S.Sno 
    group by Sage,cno
    修改一下
      

  6.   

    1楼和2楼的朋友,你们的答案有点小问题,因为没有把重复的去掉,貌似加个distinct就OK了。
    不过还是感谢2位了
      

  7.   

    select sage,cno , count(1) 课程人数 from 
    SC , S 
    where SC.Sno = S.Sno 
    group by Sage,cno
    修改一下
      

  8.   

    select Sage,count(*)from S ,SC where S.sno=SC.sno group by Sage