查询各科成绩最高分的详细数据
首先,我们需要有一个包含成绩数据的表,假设表名为scores,包含字段id、subject和score,其中id为主键,subject表示科目,score表示成绩。我们的目标是找出各科成绩的最高分对应的详细数据。
| id | subject | score |
|---|---|---|
| 1 | 语文 | 80 |
| 2 | 数学 | 88 |
| 3 | 英语 | 61 |
| 4 | 英语 | 59 |
SELECT * FROM scores
WHERE (subject, score) IN
(SELECT subject, MAX(score) FROM scores GROUP BY subject);
查询最近的一年的各科最好成绩
| id | subject | score | year |
|---|---|---|---|
| 1 | 语文 | 80 | 2023 |
| 2 | 数学 | 88 | 2023 |
| 3 | 英语 | 61 | 2023 |
| 4 | 英语 | 59 | 2024 |
| 5 | 英语 | 91 | 2024 |
SELECT
subject,
year,
MAX( score )
FROM
scores
WHERE
( subject, year ) IN ( SELECT subject, MAX( year ) FROM scores GROUP BY subject )
GROUP BY subject,year