sqlserver rank函数
sqlserver rank函数
    SQL Server Rank函数
    Rank函数可以按照某个指标对数据集排序,并为每行赋予一个排名,而不论数据表中的行数有多少,这个排名是不断增加的数字。如果出现重复值,该函数会对它们赋予相同的排名。
rank函数的用法
    SQL Server Rank函数有2个格式:
    RANK( ) OVER ([PARTITION BY expression] ORDER BY expression [ASC/DESC])
    DENSE_RANK( ) OVER ([PARTITION BY expression] ORDER BY expression [ASC/DESC])
    PARTITION BY:按照某个列进行分组
    ORDER BY:排序的列
    ASC/DESC:升序或降序排列
    Rank函数和Dense_Rank函数的用法完全一样,只是当出现重复值时产生的排名不同。Rank函数会跳过相同排名,而Dense_Rank函数不会跳过,相同排名的数字会隔一个排名出现。
    下面的例子中,查询学生的成绩,并按某一个学科的成绩排名
    SELECT name, chinese,
    RANK() OVER (ORDER BY chinese ASC)
    FROM student
    这个例子中,排名是按照升序排列的,所以第一个学生得到最高的分数排名为第1,第二个学生排名为第2,依次类推。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。