统计每个班的学生个数,输出“班级名称”、“学生个数”两项,按班级名称排序

2014-10-25 16:46:47  访问(1781) 赞(0) 踩(0)


  • 提示:

    UTB_EXAM_STUDENT 和 UTB_EXAM_CLASS 的连表操作和对 UTB_EXAM_CLASS 进行Group by (分组)


  • 
    -- 简单的SQL --
    -- 但不是最正确的SQL,下面这个SQL需要先保证班级名称唯一的前提 --
    
    
    select 
    c.TheName as '班级名称', count(s.ID) as '学生个数' 
    from 
    UTB_EXAM_STUDENT s, UTB_EXAM_CLASS c
    where
    s.ClassId = c.ID
    group by c.ID,c.TheName
    order by c.TheName asc
    
    
    
    
    -- 最正确的写法是把输出结果当子表外面在多连一次 --
    
    select c.TheName as '班级名称', r.学生个数
    from
    (
    	select 
    	c.ID as cID, count(s.ID) as '学生个数' 
    	from 
    	UTB_EXAM_STUDENT s, UTB_EXAM_CLASS c
    	where
    	s.ClassId = c.ID
    	group by c.ID 
    )r,
    UTB_EXAM_CLASS c
    where
    r.cID = c.ID
    order by c.TheName asc
    

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)