• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >MsSql > SQLSERVER 2005的ROW_NUMBER、RANK、DENSE_RANK的用法

SQLSERVER 2005的ROW_NUMBER、RANK、DENSE_RANK的用法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了dense rank,dense rank over,rank dense rank,oracle dense rank,sql dense rank等相关知识,希望本文的分享对您有所帮助
ROW_NUMBER()

说明:返回结果集分区内行的序列号,每个分区的第一行从
1 开始。
语法:ROW_NUMBER ()
OVER ( [ <partition_by_clause> ] <order_by_clause> ) 。
备注:
ORDER BY 子句可确定在特定分区中为行分配唯一 ROW_NUMBER 的顺序。
参数:
<partition_by_clause> :将 FROM 子句生成的结果集划入应用了 ROW_NUMBER 函数的分区。
     
<order_by_clause>:确定将 ROW_NUMBER 值分配给分区中的行的顺序。
返回类型:
bigint 。

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

USE AdventureWorks
GO
SELECT c.FirstName, c.LastName, ROW_NUMBER() 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
/*
FirstName  LastName    Row Number  SalesYTD      PostalCode
---------  ----------  ----------  ------------  ----------------------------
Shelley    Dyck        1           5200475.2313  98027
Gail       Erickson    2           5015682.3752  98055
Maciej     Dusza       3           4557045.0459  98027
Linda      Ecoffey     4           3857163.6332  98027
Mark       Erickson    5           3827950.238   98055
Terry      Eminhizer   6           3587378.4257  98055
Michael    Emanuel     7           3189356.2465  98055
Jauna      Elson       8           3018725.4858  98055
Carol      Elliott     9           2811012.7151  98027
Janeth     Esteves     10          2241204.0424  98055
Martha     Espinoza    11          1931620.1835  98055
Carla      Eldridge    12          1764938.9859  98027
Twanna     Evans       13          1758385.926   98055
(13 行受影响)
*/

/*以下示例将返回行号为 50 到 60(含)的行,并以 OrderDate 排序。*/
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
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SQLSERVER 2005的ROW_NUMBER、RANK、DENSE_RANK的用法

相关文章

  • 2017-05-11PowerDesigner16生成SQL2005列注释的方法
  • 2017-05-11Sql Server安装出错,安装程序配置服务器失败的解决方法小结
  • 2017-05-11SQL2005日志收缩方法
  • 2017-05-11SQL Server 移动系统数据库
  • 2017-07-22记一次sql server 性能调优,查询从20秒至2秒
  • 2017-05-27sqlserver中怎么对text、ntext和image操作
  • 2017-05-11Sqlserver 2005使用XML一次更新多条记录的方法
  • 2017-05-11SQL2008中 阻止保存要求重新创建表的更改 的解决方法
  • 2017-05-11安装SqlServer2005时版本变更检查 (警告)
  • 2017-05-11sqlserver 2005 无法在服务器上访问指定的路径或文件

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • sqlserver巧用row_number和partition by分组取top数据
    • 通过SQL Server 2008数据库复制实现数据库同步备份
    • SQL2005的维护计划无法删除的解决方法
    • sql2005创建远程登录帐户的sql语句
    • Excel导入数据库时出现的文本截断问题解决方案
    • 如何计算多个订单的核销金额
    • 深入浅出数据库索引原理
    • SQL2008中通过DBCC OPENTRAN和会话查询事务
    • 安装SQL2005时出现的版本变更检查SKUUPGRADE=1问题的解决方法
    • sql server连接不上怎么办 SQL Server2008R无法登录的解决方案(1814\18456)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有