在MySQL中,查詢班級前三名可以使用ORDER BY和LIMIT語句實現。
SELECT name, score FROM class_score WHERE class = '1' ORDER BY score DESC LIMIT 3;
上面的代碼中,我們先選擇班級為1的學生姓名和成績,然后按照成績從大到小排序,最后限制結果返回前三名。
如果需要查詢全部班級的前三名,則可以使用子查詢。
SELECT class, name, score FROM class_score AS cs1 WHERE ( SELECT COUNT(*) FROM class_score AS cs2 WHERE cs2.score >cs1.score AND cs1.class = cs2.class )< 3 ORDER BY class, score DESC;
上面的代碼中,我們使用子查詢來獲取班級中比當前學生成績高的人數,當人數小于3時,說明當前學生是前三名,然后我們按照班級和成績排序返回結果。
無論哪種方式,查詢班級前三名都可以在MySQL中輕松實現。
上一篇MySQL大于一個點時間
下一篇mysql 查詢漢字亂碼