SQL Server 2005聚合函数之 Row_Number

本文详细解释了SQL中ROW_NUMBER()函数的用法,包括如何为查询结果的每一行生成行号,以及如何通过partition和orderby子句进行数据分组和排序。提供了具体示例,如数据分页和去除重复行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单说明和示例: 

Returns the sequential number of a row within a partition of a result set, starting at 1 for the first row in each partition.   

为查询出来的每一行记录生成一个序号。

Syntax:  ROW_NUMBER () OVER ( [ <partition_by_clause> ] <order_by_clause> )

                  partition 用来分组,如果有partition语句,行号将按组分配,如果没有,行号将按整个结果集分配。

                  order by 用来决定按什么顺序分配行号,这里的order by与select语句的order by没有关系。

使用: 数据分页, 取某一段数据, 去除重复行

eg. : 

USE AdventureWorks;
GO
WITH OrderedOrders AS
(SELECT SalesOrderID, OrderDate,
ROW_NUMBER() OVER (order by OrderDate)as RowNumber
FROM Sales.SalesOrderHeader ) 
SELECT * 
FROM OrderedOrders 
WHERE RowNumber between 50 and 60;

转载于:https://www.cnblogs.com/JoinZhang/archive/2010/07/22/1782964.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值