mysql查询各科成绩最高分的详细数据

179 阅读1分钟

查询各科成绩最高分的详细数据

首先,我们需要有一个包含成绩数据的表,假设表名为scores,包含字段id、subject和score,其中id为主键,subject表示科目,score表示成绩。我们的目标是找出各科成绩的最高分对应的详细数据。

idsubjectscore
1语文80
2数学88
3英语61
4英语59
SELECT * FROM scores 
WHERE (subject, score) IN 
(SELECT subject, MAX(score) FROM scores GROUP BY subject);

查询最近的一年的各科最好成绩

idsubjectscoreyear
1语文802023
2数学882023
3英语612023
4英语592024
5英语912024
SELECT
	subject,
	year,
	MAX( score )
FROM
	scores 
WHERE
	( subject, year ) IN ( SELECT subject, MAX( year )  FROM scores GROUP BY subject )
GROUP BY subject,year