在SQL Server 2012中,可以对返回的查询结果排序,排序函数提供了一种按升序的方式组织输出结果集。用户可以为每一行,或每一个分组指定一个唯一的序号。SQL Server 2012中有四个可以使用的函数,分别是:
1.ROW_NUMBER函数
2.RANK函数
3.DENSE_RANK()函数
4.NTILE()函数
1.ROW_NUMBER函数为每条记录增添递增的顺序数值序号,即使存在相同的值夜是递增序号。
例:select row_number() over (order by ID asc) as ROWID,coumln1,coumln2from table
ROWID内数据位1,2,3,4,......
2.RANK:如果两个或多个行与一个排名关联,则关联行得到相同的排名
ROWID内数据位1,1,1,4,4,4,4,8,8,10.....
3.DENSE_RANK:排名不中断,相同的数据序号相同。
ROWID内数据位1,1,1,2,2,2,2,3,3,4.....
4.NTILE(N)函数用来将查询结果中的记录分为N组。各组都有编号,编号从1开始。
本文详细介绍了SQLServer2012中的四种排序函数:ROW_NUMBER、RANK、DENSE_RANK及NTILE的功能及用法。ROW_NUMBER为记录分配连续序号;RANK对相同排名的记录赋予相同名次,之后名次断开;DENSE_RANK同样对相同记录赋予相同名次,但名次不会断开;NTILE则用于将记录集分为指定数量的组。
168

被折叠的 条评论
为什么被折叠?



