表数据:
id kc xh score
1 语文 0023 70
2 语文 0024 76
3 语文 0025 68
4 数学 0023 15
5 数学 0024 68
6 数学 0025 95
7 数学 0026 73
8 英语 0023 77
9 英语 0024 69
10 英语 0025 12
11 英语 0026 54
12 语文 0026 34
13 物理 0023 99
14 化学 0023 89
查找相关科目最高的成绩记录---对应的sql:
SELECT *
FROM s_score a
WHERE NOT EXISTS(SELECT
1
FROM s_score b
WHERE a.kc = b.kc
AND a.score < b.score);
查找相关科目成绩前2名的记录---对应的sql:
SELECT *
FROM s_score a
WHERE 2 > (SELECT
COUNT(*)
FROM s_score b
WHERE a.kc = b.kc
AND a.score < b.score)
ORDER BY a.kc,a.score DESC;