Rank,Dense_rank,Row_number函数区别用法

原创 2016年08月31日 09:35:02
select  a.dept_id,a.salary,
        row_number()over (partition by  a.dept_id order by a.salary) ,
        dense_rank()over (partition by  a.dept_id order by a.salary)  ,
        rank()over(partition by  a.dept_id order by a.salary)
from  tb_wyh_user_info  a;



Rank,Dense_rank,Row_number函数为每条记录产生一个从1开始至N的自然数,N的值可能小于等于记录的总数。这3个函数的唯一区别在于当碰到相同数据时的排名策略。

①ROW_NUMBER:
Row_number函数返回一个唯一的值,当碰到相同数据时,排名按照记录集中记录的顺序依次递增。
②DENSE_RANK:
Dense_rank函数返回一个唯一的值,除非当碰到相同数据时,此时所有相同数据的排名都是一样的。
③RANK:

Rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,同时会在最后一条相同记录和下一条不同记录的排名之间空出排名。



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

SQL2005中row_number( )、rank( )、dense_rank( )、ntile( )函数的用法(2)

SQL server 2005新增的几个函数,分别是row_number( )、rank( )、,DENSE_RANK( )、ntile( )下面以实例分别简单讲解。1.row_number( )  ...

SQL Server 排序函数 ROW_NUMBER、RANK、DENSE_RANK、INTERSECT、UNION、UNION ALL 用法总结

1.ROW_NUMBER()基本用法: SELECT SalesOrderID, CustomerID, ROW_NUMBER() OVER (ORDER BY SalesOrderI...

数据库技术之rank、dense_rank、ntile、row_number函数的区别

这四个(RANK、DENSE_RANK、NTILE、ROW_NUMBER)函数,都是用来对数据库中的数据进行排名的,在他们的功能各有千秋。       下面介绍一下这四个函数的功能和用法: 首先创建...

SQL Server 排序函数 ROW_NUMBER和RANK 用法总结

下面的例子和SQL语句均在SQL Server 2008环境下运行通过,使用SQL Server自带的AdventureWorks数据库。 转载请注明此文原创自 CSDN TJVictor的专栏:...

SQL Server 排序函数 ROW_NUMBER和RANK 用法总结

1.ROW_NUMBER()基本用法: SELECT SalesOrderID, CustomerID, ROW_NUMBER() OVER (ORDER BY SalesOrderID) A...

ROW_NUMBER、RANK、DENSE_RANK的用法(1)

SQL Server 2005 引入几个新的排序(排名)函数,如ROW_NUMBER、RANK、DENSE_RANK等。 这些新函数使您可以有效地分析数据以及向查询的结果行提供排序值。 --...

ROW_NUMBER、RANK、DENSE_RANK的用法-2

SQL Server 2005 引入几个新的排序(排名)函数,如ROW_NUMBER、RANK、DENSE_RANK等。这些新函数使您可以有效地分析数据以及向查询的结果行提供排序值。

ROW_NUMBER、RANK、DENSE_RANK的用法 1

ROW_NUMBER()说明:返回结果集分区内行的序列号,每个分区的第一行从 1 开始。语法:ROW_NUMBER () OVER ( [ ] ) 。备注:ORDER BY 子句可确定在特定分区中...

ROW_NUMBER、RANK、DENSE_RANK的用法(1)

ROW_NUMBER、RANK、DENSE_RANK的用法 SQL Server 2005 引入几个新的排序(排名)函数,如ROW_NUMBER、RANK、DENSE_RANK等。 这些新...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)