分數表如下,現在要求求出第三高的分數
先說明distinct的用法
SELECT DISTINCT score FROM tb_score 得出結果為
因為要第三高的分數,故降序排列再用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語句執行的時候,按以下順序