在建立好数据库之后,检索数据常常需要进行分组查询和统计计算,下面就介绍使用聚合函数、group by子句、having子句进行分组查询和统计计算的方法。
A.首先是聚合函数
j聚合函数实现数据统计或计算,用于计算中的数据,返回单个计算结果。除了count函数以外,聚合函数忽略空值。
--查询102课程中的最高分、最低分、平均成绩
use stsc
select MAX(grade) AS '最高分',MIN(grade) AS '最低分',AVG(grade) AS '平均成绩'
from score
where cno='102'
go
--求学生总人数计算机专业
use stsc
select COUNT(*) AS '总人数'
from student
where speciality='计算机'
go
B.group by子句
这是用于将查询结果表按某一列或多列值进行分组。
--查询各门课程的最高分,最低分,平均成绩
use stsc
select cno AS '课程号',MAX(grade)AS '最高分',MIN(grade)AS '最低分',AVG(grade) '平均成绩'
from score
where not grade is null
group by cno
go
--查询各门课程的平均成绩和选修人数
use stsc
select cno AS '课程号',AVG(grade) '平均成绩',COUNT(*) AS '选修人数'
from score
g