天天看點

筆試題 sql語句求出第n高的分數

分數表如下,現在要求求出第三高的分數

筆試題 sql語句求出第n高的分數

先說明distinct的用法

SELECT DISTINCT score FROM tb_score 得出結果為

筆試題 sql語句求出第n高的分數

因為要第三高的分數,故降序排列再用limit

SELECT DISTINCT score FROM tb_score ORDER BY score DESC LIMIT 2,1

如果沒有第三高用null代替,則

SELECT (SELECT DISTINCT score FROM tb_score ORDER BY score DESC LIMIT 2,1) AS result

比如,此表中沒有第四高的分數,現在要求求出第四高的分數

SELECT (SELECT DISTINCT score FROM tb_score ORDER BY score DESC LIMIT 3,1) AS result 結果為null

在這裡補充一下,在機器讀取sql語句執行的時候,按以下順序

筆試題 sql語句求出第n高的分數