row_number函数的使用
上个星期六,田老师在讲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 |
下示例将返回行号为 50
到 60
(含)的行,并以 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函数的使用相关推荐
- Sql Server 2005 ROW_NUMBER 函数实现分页
过去用SQL Server 2000分页的,大多都用到了临时表.SQL Server 2005 ROW_NUMBER 函数支持分页,性能据说也非常不错. Paging Records Using SQ ...
- [转]SQL2005后的ROW_NUMBER()函数的应用
SQL Server 2005后之后,引入了row_number()函数,row_number()函数的分组排序功能使这种操作变得非常简单 分组取TOP数据是T-SQL中的常用查询, 如学生信息管理系 ...
- Oracle的row_number函数
row_number函数 语法格式 row_number() over (partition by a order by b) 语法说明 将表按照a字段进行分组,然后,按照b字段进行组内排序 并给出排 ...
- oracle分组_MySQL分组取TOP,实现Oracle的ROW_NUMBER函数的功能
Excel中分组排序只需要对数据进行升序降序,再利用if函数添加排序序号,即可筛选出分组top数据. Oracle也有row_number()函数对数据进行分组排序,而MySQL并没有此类函数,那么如 ...
- [MSSQL]ROW_NUMBER函数
ROW_NUMBER()在SQL2K5版本中新增,该函数返回结果集分区内行的序列号,每个分区的第一行从 1 开始,连续不间断,后跟OVER BY子句或者PARTITION BY子句 先构造一张表,放一 ...
- 浅析row_number()函数【HQL】
语法格式:row_number() over(partition by 分组列 order by 排序列 desc) row_number() over()分组排序功能: 在使用 row_number ...
- T-SQL利用Row_Number函数实现分页
SQL: CREATE PROCEDURE PagingViewTest (@currentPageIndex INT, --页序号@pageSize INT, --页大小@pageCount INT ...
- hive的row_number()函数
hive的row_number()函数 功能 用于分组,比方说依照uuid分组 组内可以依照某个属性排序,比方说依照uuid分组,组内按照imei排序 语法为row_number() over (pa ...
- SQL中 ROW_NUMBER 函数的用法
SQL中 ROW_NUMBER 函数的用法 ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号.在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是 ...
- SQL Server数据库partition by 与ROW_NUMBER()函数使用详解[转]
关于SQL的partition by 字段的一些用法心得 先看例子: if object_id('TESTDB') is not null drop table TESTDB create table ...
最新文章
- python3精要(6)-数字,分数,除法
- freetds mysql_apache+mysql+php+gd+freetds
- iOS开发之UITableView中计时器的几种实现方式(NSTimer、DispatchSource、CADisplayLink)
- JavaScript每日学习日记(2)
- 现代软件工程讲义 9 测试 QA 的角色和分工
- Python练习:天天向上的力量III
- java base64字符 转图片_JAVA实现图片与base64字符串之间的转换详解
- java内置的四大函数式接口
- 线性回归相关系数c语言,线性回归中相关系数.doc
- 小米笔记本装linux教程视频教程,Archlinux安装指南~小米笔记本Air 13.3英寸版本
- 大陆期货11月3日钢材日评
- 基于MATLAB的R方计算
- 不靠体育赛事,咪咕视频还有多大发展空间?
- 这绝对是个高手,一个用 C 开发的图形界面开发库
- 启明云端分享|IDO-SOM3568:可用于轻量级人工智能应用
- 优傲优化福特汽车装配线生产效率
- 一次招聘“乌龙”事件
- 错误1053 服务没有及时响应启动或控制请求
- 高考2017c语言试卷,2017高考语文模拟考试试卷附答案
- 如何阅读linux软件程序代码,如何阅读linux源代码