在一个sql分组查询中使用多个聚集函数

Posted bcbobo21cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在一个sql分组查询中使用多个聚集函数相关的知识,希望对你有一定的参考价值。

使用mysql自带的Workbench;

在test数据库新建一个表score;

然后执行插入语句来插入数据;

如果出现错误,    Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar.    

    需要双击选择一个数据库,使其名称显示为黑体,如下图;

执行插入语句;

数据如下;

在同一个group by中,同时聚集出每门课程的最高分、最低分,是可以的;如下图;

     上图两个聚集函数是针对同一字段;

insert into score(学号,课程号,成绩) 
values('0001' , '0001' , 80);
 
insert into score(学号,课程号,成绩) 
values('0001' , '0002' , 90);
 
insert into score(学号,课程号,成绩) 
values('0001' , '0003' , 99);
 
insert into score(学号,课程号,成绩) 
values('0002' , '0002' , 60);
 
insert into score(学号,课程号,成绩) 
values('0002' , '0003' , 80);
 
insert into score(学号,课程号,成绩) 
values('0003' , '0001' , 80);
 
insert into score(学号,课程号,成绩) 
values('0003' , '0002' , 80);
 
insert into score(学号,课程号,成绩) 
values('0003' , '0003' , 80);

select 课程号,max(成绩) as 最高分,min(成绩) as 最低分
from score
group by 课程号;

以上是关于在一个sql分组查询中使用多个聚集函数的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server查询优化和事务处理

SQL中分组短语是啥

sql索引

SQL之复杂查询与视图

SQL之复杂查询与视图

SqlServer:分组查询和聚集函数