zoukankan      html  css  js  c++  java
  • SQL查询对分数进行排名

    编写SQL查询以对分数进行排名。 如果两个分数之间存在平局,则两者应具有相同的排名。 请注意,在平局之后,下一个排名数应该是下一个连续的整数值。 换句话说,等级之间不应该存在“漏洞”。

    1.  
      +----+-------+
    2.  
      | Id | Score |
    3.  
      +----+-------+
    4.  
      | 1 | 3.50 |
    5.  
      | 2 | 3.65 |
    6.  
      | 3 | 4.00 |
    7.  
      | 4 | 3.85 |
    8.  
      | 5 | 4.00 |
    9.  
      | 6 | 3.65 |
    10.  
      +----+-------+

    例如,给定上面的scores表,您的查询应生成以下报告(按最高分数排序):

    1.  
      +-------+------+
    2.  
      | Score | Rank |
    3.  
      +-------+------+
    4.  
      | 4.00 | 1 |
    5.  
      | 4.00 | 1 |
    6.  
      | 3.85 | 2 |
    7.  
      | 3.65 | 3 |
    8.  
      | 3.65 | 3 |
    9.  
      | 3.50 | 4 |
    10.  
      +-------+------+

    实现sql如下:

    select Score, (select count(distinct Score) from scores where Score >= mq.Score) Rank from scores as mq order by Score desc 

  • 相关阅读:
    Log4j2 配置
    Spring + SpringMVC配置
    Tomcat 动态数据库连接池
    MySQL数据库备份命令
    一条insert语句插入数据库
    tomcat 性能优化
    linux RPM manager
    mysql 多主
    ceph学习
    python常用程序算法
  • 原文地址:https://www.cnblogs.com/bruce1992/p/14018991.html
Copyright © 2011-2022 走看看