在一个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 课程号;
经验分享 程序员 微信小程序 职场和发展