zoukankan      html  css  js  c++  java
  • sql -leetcode 178. Rank Scores

    Score 很好得到: select Score from Scores order by Score desc;

    要得到rank, 可以通过比较比当前Score 大的Score 的个数得到:

    select Score, (select count(distinct Score) from Scores where Score>=s.Score) Rank where Scores s order by Score desc;
    

      

    或者:

    select s.Score ,count(distinct t.Score)Rank from Scores s join Scores t on s.Score<=t.Score
    

      得到join 两个表,

    {"headers": ["Score", "Score"], "values": [[3.50, 3.50], [3.50, 3.65], [3.65, 3.65], [3.65, 3.65], [3.50, 4.00], [3.65, 4.00], [4.00, 4.00], [3.85, 4.00], [4.00, 4.00], [3.65, 4.00], [3.50, 3.85], [3.65, 3.85], [3.85, 3.85], [3.65, 3.85], [3.50, 4.00], [3.65, 4.00], [4.00, 4.00], [3.85, 4.00], [4.00, 4.00], [3.65, 4.00], [3.50, 3.65], [3.65, 3.65], [3.65, 3.65]]}

    按s.Id 聚在一起:
    select s.Score ,count(distinct t.Score)Rank from Scores s join Scores t on s.Score<=t.Score
    group by s.Id
    order by s.Score desc
    

      







  • 相关阅读:
    HTML常用标签及其属性
    初识Java
    JS中firstChild,lastChild,nodeValue属性
    前端网页进度Loading
    Git分支管理小结
    Vim文本编辑命令
    EF
    Linq
    委托(作用:解耦),lambda的演化
    单例模式
  • 原文地址:https://www.cnblogs.com/fanhaha/p/7264708.html
Copyright © 2011-2022 走看看