码迷,mamicode.com
首页 > 其他好文 > 详细

使用分组查询学生相关信息和限定条件的分组查询

时间:2015-11-04 21:17:58      阅读:402      评论:0      收藏:0      [点我收藏+]

标签:

一、上机练习一

1--查询每门课程的平均分,并按照降序排列

1 select GradeId,SUM(ClassHour) as 总学时数
2 from Subject
3 group by GradeId
4 order by sum(ClassHour)

 

2--查询每个参加考试的学员平均分

1 select studentno,AVG(studentresult) as 平局分
2 from Result
3 group by StudentNo

 

3--查询每门课程的平均分,并按照降序排列

1 select subjectid,AVG(studentresult)as 平均分
2 from Result
3 group by SubjectId
4 order by 平均分 desc

 

4--查询每个学生参加所有考试的总分,并按照降序排列

1 select studentno,SUM(studentresult) as 总分
2 from Result
3 group by StudentNo
4 order by 总分 desc

二、上机练习二

1--查询每年级学时数超过50 的课程数 S1 

 

1 select gradeid,COUNT(subjectid) as 课程数
2 from Subject
3 where  ClassHour>50
4 group by GradeId

 

 

 

2--查询每年级学生的平均年龄:

 

1 select gradeid,AVG(DATEDIFF(yy,birthday,GETDATE())) as 平均年龄
2 from student
3 group by gradeid

 

 

 

3--查询每个年级包含北京的学生

 

1 select gradeid,COUNT(1) as 总人数
2 from student
3 where address like %北京%
4 group by Gradeid

 

 

 

4--查询参加考试的学生中,平均分及格的学生记录(学号,平均分),按照降序排列

 

1 select studentno,AVG(StudentResult) as 平均分
2 from Result
3 group by StudentNo
4 having AVG(StudentResult)>=60
5 order by 平均分 desc

 

 

 

5--查询考试时间为2009-9-9课程的及格平均分 

 

1 select subjectid,AVG(studentresult) as 平均分
2 from Result
3 where ExamDate>=2009-9-9 and  ExamDate<2009-9-10
4 group by SubjectId
5 having AVG(StudentResult)>=60

 

 

 

6--统计至少有一次不及格的学生学号和次数。

 

1 select studentno,COUNT(1) as  次数
2 from Result
3 where StudentResult<60
4 group by StudentNo

 

使用分组查询学生相关信息和限定条件的分组查询

标签:

原文地址:http://www.cnblogs.com/yejiaojiao/p/4937184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!