分数排名(medium)"/>
[mysql]leetcode178:分数排名(medium)
题目:
178.分数排名
题解:
- 本题的难点是给出分数如何算它排名呢?
- 我们可以先提取出大于等于
x
(某个分数)的所有分数集合H(b表中大于等于分数x的个数),将H去重后的元素个数就是x的排名。比如a表的x
为3.50,b表中大于等于3.50的不重复分数有4个,所以排名为4。
代码如下:
-- 建立两个分数表a,b
-- a表用来查询分数,b表用来设置排名
-- b表分数大于等于a表某个分数的个数就是排名,比如a表的3.50,b表中大于等于3.50的不重复分数有4个,所以排名为4select a.Score as Score,
(select count(distinct b.Score) from Scores b where b.Score >=a.Score) as Rank
from Scores a
order by a.Score desc;
更多推荐
[mysql]leetcode178:分数排名(medium)
发布评论