当前位置: 代码迷 >> MySQL >> 标题4:MySQL-Rank Scores
  详细解决方案

标题4:MySQL-Rank Scores

热度:292   发布时间:2016-05-05 17:05:17.0
题目4:MySQL----------Rank Scores

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    |+-------+------+

题目解答:

# Write your MySQL query statement belowSELECT Scores.Score, COUNT(Ranking.Score) AS RANK  FROM Scores     , (       SELECT DISTINCT Score         FROM Scores       ) Ranking WHERE Scores.Score <= Ranking.Score GROUP BY Scores.Id, Scores.Score ORDER BY Scores.Score DESC;




  相关解决方案