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...

MS SQL 2005 四个排序函数ROW_NUMBER、RANK、DENSE_RANK 和 NTILE简介用法/结果排名排序

--在SQL 2005中存在四种排名函数: ROW_NUMBER、RANK、DENSE_RANK 和 NTILE。这些新函数可以有效地分析数据以及向查询的结果行提供排序值。您可能发现这些新函数有用的典...

数据库SQL中对查询结果排序排列序号编号,Oracle分析函数 rank,dense_rank,row_number使用和区别

Oracle从8i开始就提供了3个分析函数:rank,dense_rank,row_number (1)Rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,    ...

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

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

ROW_NUMBER、RANK、DENSE_RANK的用法-2

SQL Server 2005 引入几个新的排序(排名)函数,如ROW_NUMBER、RANK、DENSE_RANK等。这些新函数使您可以有效地分析数据以及向查询的结果行提供排序值。 ...
  • sxycgxj
  • sxycgxj
  • 2011年05月26日 15:31
  • 415

ROW_NUMBER、RANK、DENSE_RANK的用法 1

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

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

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

ROW_NUMBER、RANK、DENSE_RANK的用法(2)

SQL server 2005新增的几个函数,分别是row_number( )、rank( )、,DENSE_RANK( )、ntile( )下面以实例分别简单讲解。 1.row_number(...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Rank,Dense_rank,Row_number函数区别用法
举报原因:
原因补充:

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