leetcode 178. Rank Scores

来源:互联网 发布:java 导出word 加水印 编辑:程序博客网 时间:2024/06/05 01:53

Write a SQL query to rank scores. If there is a tie between two scores, both should have the same ranking. Note that after a tie, the next ranking number should be the next consecutive integer value. In other words, there should be no "holes" between ranks.

+----+-------+| Id | Score |+----+-------+| 1  | 3.50  || 2  | 3.65  || 3  | 4.00  || 4  | 3.85  || 5  | 4.00  || 6  | 3.65  |+----+-------+

For example, given the above Scores table, your query should generate the following report (order by highest score):

+-------+------+| Score | Rank |+-------+------+| 4.00  | 1    || 4.00  | 1    || 3.85  | 2    || 3.65  | 3    || 3.65  | 3    || 3.50  | 4    |+-------+------+

为分数排序

计数大于等于自己的个数有多少

SELECT Score, (  SELECT COUNT(*)   FROM (    SELECT DISTINCT Score S     FROM Scores  ) AS Tmp  WHERE S >= Score) AS RankFROM ScoresORDER BY Score DESC;


0 0