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小时内删除。
发表评论