create table 成绩表
(id int,
学生姓名 varchar(10),
学科成绩 int,
班级名称 varchar(20));
insert into test values (1,'张三',100,'一班');
insert into test values (2,'李四',89,'一班');
insert into test values (3,'王五',97,'一班');
insert into test values (4,'赵六',87,'二班');
insert into test values (5,'孙七',94,'二班');
insert into test values (6,'杨八',76,'二班');
select t.* from
(select 成绩表.*,row_number() over (partition by 班级姓名 order by 学科成绩 desc) rn
from 成绩表) t
where rn=1;
SELECT * FROM 成绩表