美文网首页
SQL——高级聚集

SQL——高级聚集

作者: 薛定谔与猫的故事 | 来源:发表于2018-04-24 21:02 被阅读0次

    1.排名rank/dense_rank
    示例:

    排名

    对于上述问题,可以使用dense_rank聚集函数解决:

    select Score dense_rank() over( order by (Score) desc) as Rank
    from Scores
    order by s_rank
    

    而如果是要平局之后的下一个名次是非连续的,则应该用rank(),用法与dense_rank一样。

    如果不用rank函数,也可以实现上述问题:

    select Score ,(1+(select count(distinct score)
                  from Scores as B
                 where B.score>A.score)) as Rank
    from Scores as A
    order by Rank
    

    而如果要非连续的,则把上边的关键字distinct去掉即可。

    相关文章

      网友评论

          本文标题:SQL——高级聚集

          本文链接:https://www.haomeiwen.com/subject/qnlslftx.html