SQL经典TopN问题解法 1、关联子查询 2、窗口函数 3、设置用户变量来储存第N个数值 4、limit语句 1、关联子查询 取最大值或最小值 SELECT * FROM score AS t1 WHERE 成绩 = (SELECT max/min(成绩) FROM score AS t2 WHERE t1.课程号 = t2.课程号); 取前两名 SELECT * FROM score t1 WHERE (SELECT COUNT( * ) FROM score t2 WHERE t1.课程号 = t2.课程号 AND t1.成绩 < t2.成绩 ) < 2 ORDER BY t1