`
lovecontry
  • 浏览: 1036831 次
文章分类
社区版块
存档分类
最新评论

SQL SERver2005中row_number() 的用法

 
阅读更多

返回结果集分区内行的序列号,每个分区的第一行从 1 开始。

Transact-SQL 语法约定

语法

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

备注
o&#114;DER BY 子句可确定在特定分区中为行分配唯一 ROW_NUMBER 的顺序。

参数
<partition_by_clause>

将 FROM 子句生成的结果集划入应用了 ROW_NUMBER 函数的分区。

<order_by_clause>

确定将 ROW_NUMBER 值分配给分区中的行的顺序。有关详细信息,请参阅 o&#114;DER BY 子句 (Transact-SQL)。

有关详细信息,请参阅 OVER 子句 (Transact-SQL)。

返回类型
bigint

示例
以下示例将根据年初至今的销售额,返回 AdventureWorks 中销售人员的 ROW_NUMBER。

复制代码
USE AdventureWorks
GO
Sel&#101;ct c.FirstName, c.LastName, ROW_NUMBER() OVER(ORDER BY SalesYTD DESC) AS &#39;Row Number&#39;, s.SalesYTD, a.PostalCode
FROM Sales.SalesPerson s JOIN Person.Contact c on s.SalesPersonID = c.ContactID
JOIN Person.Address a ON a.AddressID = c.ContactID
Wh&#101;re TerritoryID IS NOT NULL AND SalesYTD <> 0

以下示例将返回行号为 50 到 60(含)的行,并以 o&#114;derDate 排序。

复制代码
USE AdventureWorks;
GO
WITH o&#114;deredOrders AS
(Sel&#101;ct SalesOrderID, o&#114;derDate,
ROW_NUMBER() OVER (order by o&#114;derDate)as RowNumber
FROM Sales.SalesOrderHeader )
Sel&#101;ct *
FROM o&#114;deredOrders
Wh&#101;re RowNumber between 50 and 60;

分享到:
评论

相关推荐

    SQL Server中row_number函数的常见用法示例详解

    一.SQL Server Row_number函数简介 ROW_NUMBER()是一个Window函数,它为结果集的分区中的每一行分配一个连续的整数。 行号以每个分区中第一行的行号开头。 以下是ROW_NUMBER()函数的语法实例: select *,row_...

    SQLSERVER 2005的ROW_NUMBER、RANK、DENSE_RANK的用法

    ROW_NUMBER()说明:返回结果集分区内行的序列号,每个分区的第一行从 1 开始。语法:ROW_NUMBER () OVER ( [ ... &lt;order&gt;:确定将 ROW_NUMBER 值分配给分区中的行的顺序。返回类型:bigint 。示例:/*以下示例将

    sqlserver2005使用row_number() over分页的实现方法

    sqlserver2005使用row_number() over分页的实现方法,需要的朋友可以参考下。

    sqlServer使用ROW_NUMBER时不排序的解决方法

    设置sqlServer使用ROW_NUMBER时不排序 –1.看到NHibernate是这样写的分页,感觉写起来比较容易理解(应该不会有效率问题吧?) –with只是定一个别名? [sql] with query as (select ROW_NUMBER() over(order by ...

    SQLServer中Partition By及row_number 函数使用详解

    partition by关键字是分析性函数的一部分,partition by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组,本文给大家介绍SQLServer中Partition By及row_number 函数使用详解,需要的朋友参考下

    SqlServer2005中使用row_number()在一个查询中删除重复记录的方法

    在SqlServer2005中,提供了一个row_number()的函数,我们经常用它做DataBase数据分页.

    SQL Server使用row_number分页的实现方法

    本文为大家分享了SQL Server使用row_number分页的实现方法,供大家参考,具体内容如下 1、首先是 select ROW_NUMBER() over(order by id asc) as ‘rowNumber’, * from table1 生成带序号的集合 2、再查询该集合的 ...

    SQL2005 四个排名函数(row_number、rank、dense_rank和ntile)的比较

    在SQL Server2005中有如下四个排名函数:  1.row_number  2.rank  3.dense_rank  4.ntile   下面分别介绍一下这四个排名函数的功能及用法。在介绍之前假设有一个t_table表,表结构与表中的数据如图1所示:  ...

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

    SELECT SalesOrderID, CustomerID, ROW_NUMBER() OVER (ORDER BY SalesOrderID) AS RowNumber FROM Sales.SalesOrderHeader结果集:SalesOrderID CustomerID RowNumber————— ————- —————43659 ...

    SQL Server中row_number分页查询的用法详解

    在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是一致的,当使用ROW_NUMBER函数时,也需要专门一列用于预先排序以便于进行编号。 ROW_NUMBER() 说明:返回结果集分区内行的序列号,每个分区的第一行从...

    SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER

    您可能感兴趣的文章:使用SQL Server数据库嵌套子查询的方法常用SQL语句(嵌套子查询/随机等等)详细整理SQL Server高级内容之子查询和表链接概述及使用详细讲述MySQL中的子查询操作浅谈MySQL中的子查询优

    利用ROW_NUMBER() OVER函数给SQL数据库中每一条记录分配行号的方法

    从SQL Server 2005开始,增加了一个新的函数Row_Number(),他的一个很伟大的作用就是可以在数据表中添加一列从1开始的行号,这样大大代替所有多余的代码来产生行号。下面就教大家如何使用Row_Number()函数。  假设...

    实例讲解sql server排名函数DENSE_RANK的用法

     之前sql server 的排名函数用得最多的应该是RoW_NUMBER()了,我通常用ROW_NUMBER() + CTE 来实现分页;今天逛园,看到另一个内置排名函数还不错,自己顺便想了一个需求,大家可以花1分钟先想想要怎么实现。  需求...

    SQL2005工作经验

    在SQL Server中使用CLR调用.NET方法; 函数的用法; 事务; 数据导入导出; 优化SQL Server的内存占用之执行缓存篇; 字符串的处理; exec sp_executesql @s与Exec(@s)的区别; SQL 2005新增的几...

Global site tag (gtag.js) - Google Analytics