基本格式:GROUP BY 列名表 说明:
与列名或列函数配合实现分组统计。
在SELECT子句中投影的列名必须出现在相应的GROUP BY列名表中。 案例19:从图书表“Book”中查询各出版社图书的总价。 T-SQL实现语句:(大概用时10分钟)
--案例19 USE Library GO
SELECT '出版社'=PubComp,'总价'=SUM(Price) FROM Book
GROUP BY PubComp
查询结果:
学生尝试着练习分钟)
练习案例7:从学出各专业的学生专业名称和人数两列。
练习案例8:从教务管理数据库“EDUC”的选课表“SC”中统计出每位学生的总成绩,要求查询结果显示出学生的学号、姓名和总成绩。
生表“Student”表中查询总数,要求查询出结果显示写T-SQL语句(大概用时10
1_6. HAVING子句限定查询(计划用时15分钟)
基本格式:HAVING 逻辑表达式 说明:
与GROUP BY选项配合筛选(选择)统计结果。
对于使用GROUP BY子句分组统计的结果,还可以根据HAVING子句
中逻辑表达式指定的条件进行筛选。
HAVING子句的逻辑表达式通常包含列函数,值得注意的是列函数不
能放在WHERE子句的逻辑表达式中。
案例20:从选课表“SC”和学生表“Student”中查询出总成绩超过150分的学生的学号、姓名和总成绩。
师生活动说明:教师首先引导学生复习练习案例8进行分析,对照着案例20,看这两个案例之间有什么共同点?师生探讨分析案例20,共同写出案例20的T-SQL实现语句,计划用时5分钟。 T-SQL实现语句:(大概用时10分钟)
--案例20
USE EDUC GO
SELECT SC.SID AS 学号,Sname AS 姓名,sum(Grade) As 总成绩 FROM Student,Sc
WHERE Student.SID=SC.SId GROUP BY SC.SID,Student.Sname HAVING sum(Grade)>150
查询结果为:
因篇幅问题不能全部显示,请点此查看更多更全内容