select distinct name, score from a where score in (select distinct score from a where rownum <= 3 order by score desc)
select name, score from ( select name , score , dense_rank()over(order by score desc) rid from a ) where rid <= 3
select name, score from ( select name , score , dense_rank()over(order by score desc) rid from a ) where rid <= 3
select distinct score from a where rownum <= 3 order by score desc
select distinct name, score from a where score in ( select score from (select distinct score from a order by score desc) where rownum <= 3 ) 必须先排序,然后再用rownum找出前3个分数。
select name, score from (
select name , score , dense_rank()over(order by score desc) rid from a
)
where rid <= 3
select name , score , dense_rank()over(order by score desc) rid from a
)
where rid <= 3
from a
where score in (
select score
from (select distinct score from a order by score desc)
where rownum <= 3 )
必须先排序,然后再用rownum找出前3个分数。