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


    一、上机练习一

    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
  • 相关阅读:
    [css]浮动造成的影响
    [py]django的manytomany字段和后台搜索过滤功能
    [py][lc]python高阶函数(匿名/map/reduce/sorted)
    [py][lc]python的纸牌知识点
    [js]js中类的继承
    [js]js杂项陆续补充中...
    [js]js设计模式小结
    WP10的一点小问题
    JS 判断滚动底部并加载更多效果。。。。。。。。。
    This assembly may have been downloaded from the Web. ......
  • 原文地址:https://www.cnblogs.com/yejiaojiao/p/4937184.html
Copyright © 2020-2023  润新知