使用集合函数查询
集合函数包括count()、sum()、avg()、max()、min();
其中count()用来统计记录的条数;
avg()用来计算字段的值得平均值;
max()用来查询字段的最大值;
min()用来查询字段的最小值;
group by关键字通常需要与集合函数一起使用。
1. count()函数
count()函数用来统计记录的条数。
下面使用count()函数统计employee表的记录数。
select count(*) from employee;
下面使用count()函数统计employee表中不同d_id值得记录数,count()函数与group by 一起使用。
select d_id,count(*) from employee group by d_id;
2. sum()函数
sum()函数是求和函数。使用sum()函数可以求出表中某个字段的总和。
下面我们使用sum()函数统计grade表中学号为1001的同学的总成绩。
首先我们查看一下grade表
select * from grade;
select sum,sum(score) from grade where num=1001;
示例:下面我们将grade表按num字段进行分组,然后使用sum()函数统计各分组的的总成绩。
select num,sum(score) from grade group by num;
grade表按字段分为3组,分别是num等于1001,1002,1003,然后分别计算出这3组的总成绩。
注:sum()函数只能计算数值类型的字段,int,float,double,decimal类型等。
3. avg()函数
avg()函数是求平均值的函数。
下面使用avg()函数计算employee表age的平均年龄
select avg(age) from employee;
示例:下面我们使用avg()函数计算grade表中不同科目的平均成绩。
select course,avg(score) from grade group by course;
4. max()函数
max()函数是求最大值的函数。
使用max()函数查询employee表中最大年龄
select max(age) from employee;
下面使用max()函数查询grade表中不同科目的最高成绩
select course,max(score) from grade group by course;
注:在mysql表中,字母a最小,字母z最大。因为,a在ASCII码值最小。
5. min()函数
min()函数是求最小值的函数。
使用min()函数查询employee表中的最小年龄
select min(age) from employee;
示例:使用min()函数,查询grade表中不同科目的最低成绩
select course, min(score) from grade group by course;