上个星期六,田老师在讲ASP.NET 数据控件自定义分页的时候,给我们介绍了SQL中一个功能很强大的函数row_number。现在就在复习一下这个函数的使用方法。

row_number函数的语法:row_number() over( [ <partition_by_clause> ] <order_by_clause> )

两个参数具体的含义为:

<partition_by_clause>

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

由于一般中小型数据库的数据放在一个磁盘分区下面,故一般这个参数我们可以不设置

<order_by_clause>

确定将 ROW_NUMBER 值分配给分区中的行的顺序

整个函数的作用是返回结果集分区内行的序列号,每个分区的第一行从 1 开始。简单来说就是为分区里面的每一条记录从1开始编号。

在数据库中我们可以很方便地利用它来进行查询

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

USE AdventureWorks
GO
SELECT c.FirstName, c.LastName, () OVER(ORDER BY SalesYTD DESC) AS 'Row Number', 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
WHERE TerritoryID IS NOT NULL AND SalesYTD <> 0

下示例将返回行号为 5060(含)的行,并以 OrderDate 排序。

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

转载于:https://www.cnblogs.com/jerry01/archive/2009/10/28/1591517.html

row_number函数的使用相关推荐

  1. Sql Server 2005 ROW_NUMBER 函数实现分页

    过去用SQL Server 2000分页的,大多都用到了临时表.SQL Server 2005 ROW_NUMBER 函数支持分页,性能据说也非常不错. Paging Records Using SQ ...

  2. [转]SQL2005后的ROW_NUMBER()函数的应用

    SQL Server 2005后之后,引入了row_number()函数,row_number()函数的分组排序功能使这种操作变得非常简单 分组取TOP数据是T-SQL中的常用查询, 如学生信息管理系 ...

  3. Oracle的row_number函数

    row_number函数 语法格式 row_number() over (partition by a order by b) 语法说明 将表按照a字段进行分组,然后,按照b字段进行组内排序 并给出排 ...

  4. oracle分组_MySQL分组取TOP,实现Oracle的ROW_NUMBER函数的功能

    Excel中分组排序只需要对数据进行升序降序,再利用if函数添加排序序号,即可筛选出分组top数据. Oracle也有row_number()函数对数据进行分组排序,而MySQL并没有此类函数,那么如 ...

  5. [MSSQL]ROW_NUMBER函数

    ROW_NUMBER()在SQL2K5版本中新增,该函数返回结果集分区内行的序列号,每个分区的第一行从 1 开始,连续不间断,后跟OVER BY子句或者PARTITION BY子句 先构造一张表,放一 ...

  6. 浅析row_number()函数【HQL】

    语法格式:row_number() over(partition by 分组列 order by 排序列 desc) row_number() over()分组排序功能: 在使用 row_number ...

  7. T-SQL利用Row_Number函数实现分页

    SQL: CREATE PROCEDURE PagingViewTest (@currentPageIndex INT, --页序号@pageSize INT, --页大小@pageCount INT ...

  8. hive的row_number()函数

    hive的row_number()函数 功能 用于分组,比方说依照uuid分组 组内可以依照某个属性排序,比方说依照uuid分组,组内按照imei排序 语法为row_number() over (pa ...

  9. SQL中 ROW_NUMBER 函数的用法

    SQL中 ROW_NUMBER 函数的用法 ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号.在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是 ...

  10. SQL Server数据库partition by 与ROW_NUMBER()函数使用详解[转]

    关于SQL的partition by 字段的一些用法心得 先看例子: if object_id('TESTDB') is not null drop table TESTDB create table ...

最新文章

  1. python3精要(6)-数字,分数,除法
  2. freetds mysql_apache+mysql+php+gd+freetds
  3. iOS开发之UITableView中计时器的几种实现方式(NSTimer、DispatchSource、CADisplayLink)
  4. JavaScript每日学习日记(2)
  5. 现代软件工程讲义 9 测试 QA 的角色和分工
  6. Python练习:天天向上的力量III
  7. java base64字符 转图片_JAVA实现图片与base64字符串之间的转换详解
  8. java内置的四大函数式接口
  9. 线性回归相关系数c语言,线性回归中相关系数.doc
  10. 小米笔记本装linux教程视频教程,Archlinux安装指南~小米笔记本Air 13.3英寸版本
  11. 大陆期货11月3日钢材日评
  12. 基于MATLAB的R方计算
  13. 不靠体育赛事,咪咕视频还有多大发展空间?
  14. 这绝对是个高手,一个用 C 开发的图形界面开发库
  15. 启明云端分享|IDO-SOM3568:可用于轻量级人工智能应用
  16. 优傲优化福特汽车装配线生产效率
  17. 一次招聘“乌龙”事件
  18. 错误1053 服务没有及时响应启动或控制请求
  19. 高考2017c语言试卷,2017高考语文模拟考试试卷附答案
  20. 如何阅读linux软件程序代码,如何阅读linux源代码

热门文章

  1. php 一二三 排序,php 数组排序函数
  2. VC 之获取硬盘序列号
  3. SQL语句之NVL()用法
  4. php 将数组结果作为返回值保存到php文件中
  5. 网上订花哪个网站比较好
  6. BOS金蝶云星空:表单插件设置单据体背景色
  7. Linux系统中的日志管理 ---systemd-journald日志(journalctl命令的用法)和 rsyslog 日志(自定义日志采集路径、更改日志采集格式和日志的远程同步)
  8. 根据excel的某列将excel分成不同的sheet
  9. PART1 WebPack
  10. Linux软件安装和卸载(rpm与yum)