zoukankan      html  css  js  c++  java
  • 178. 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    |
    +-------+------+
     1 # Write your MySQL query statement below
     2 SELECT Score,(
     3     SELECT COUNT(*)
     4     FROM ((SELECT DISTINCT Score AS S
     5             FROM Scores 
     6             ) AS tmp)
     7     WHERE Score <= S ) AS RANK
     8     
     9 FROM Scores
    10 ORDER BY Score DESC;
    1 # Write your MySQL query statement below
    2 SELECT Score,(
    3     SELECT COUNT(DISTINCT Score) FROM Scores AS S1
    4     WHERE S1.Score >= S2.Score) AS RANK
    5     
    6 FROM Scores AS S2
    7 ORDER BY Score DESC;
     1 select Score, rank
     2 from Scores a
     3 left join
     4     (select dscore, @rank := @rank + 1 as rank
     5     from 
     6         (select distinct Score as dscore
     7         from Scores
     8         order by dscore desc) s,
     9         (select @rank := 0) r
    10      ) as b
    11 on a.Score = b.dscore
    12 order by Score desc
  • 相关阅读:
    Android开发学习之路--Content Provider之初体验
    [NOI2005] 维修数列
    递归算法对完全二叉树的前序遍历
    非递归算法对完全二叉树的前序遍历
    java中的多态
    poj1088滑雪
    在网页中插入flash
    如何采用批处理文件安装一个.dll文件,并且注册
    结构体指针和数组理解
    完全二叉树
  • 原文地址:https://www.cnblogs.com/hyxsolitude/p/12296295.html
Copyright © 2011-2022 走看看