分数表如下,现在要求求出第三高的分数
先说明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语句执行的时候,按以下顺序