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
    

      







  • 相关阅读:
    吴军博士《浪潮之巅》
    第十二周
    第十一周
    第十周
    第九周
    第四次作业
    第四周
    学习进度表
    世界是数字的
    第二阶段团队第八天成果。
  • 原文地址:https://www.cnblogs.com/fanhaha/p/7264708.html
Copyright © 2011-2022 走看看