我有一个数字score
的表,我想选择第1000个最高分的值。通常我会做
SELECT score FROM table ORDER BY score DESC LIMIT 1 OFFSET 999;
但是,表中可能还没有1000行。当然我可以先COUNT(*)
,但还有另一种方式吗?我想获得第1000行,如果还没有1000行,我想获得最后一行。
答案 0 :(得分:2)
select score
from (
select score
from table
order by score desc
limit 1000
) s
order by score
limit 1