一个数据库查询的问题 一个表T(id,class,score,name),求每个班最高分数的人的信息。
CREATE TABLE `t_student` (
`id` int(11) NOT NULL,
`class` varchar(45) DEFAULT NULL,
`name` varchar(45) DEFAULT NULL,
`score` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
select * from t_stu.t_student ;
select max(score) as s,class from t_stu.t_student group by class;
SELECT a.id,a.score,a.class,a.name FROM t_stu.t_student a inner join (select max(score) s ,class from t_stu.t_student group by class) b on a.class = b.class and a.score = b.s;