欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【leetcode】178 分数排名

程序员文章站 2022-06-11 10:35:46
...

描述如下:

【leetcode】178 分数排名

实现思路:

实质就是要统计全表小于某一个score数值的个数。如果并列排名的话可以直接:

SELECT a.score,
  (SELECT count(1)
   FROM leetcode_scores
   WHERE score > a.score)+1 AS rank
FROM leetcode_scores a
ORDER BY rank

但是这里多了一点要求,排名得是连续的整数。所以表里相同的score值需要先去重

SELECT a.score,
  (SELECT count(DISTINCT score)
   FROM leetcode_scores
   WHERE score > a.score)+1 AS rank
FROM leetcode_scores a
ORDER BY rank

这里都是降序排列(从高到低排),如果升序就将大于号改小于号。

相关标签: leetcode 数据库