`
summernight
  • 浏览: 74599 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

SQL 2005的行号(转)

阅读更多
select CAST(ROW_NUMBER() OVER(order by Name) AS varchar(32)) AS rowindex可以将行号取出来转换成varchar型的显示在页面上

1
ROW_NUMBER
SELECT ProductID, Name, Price, 
ROW_NUMBER() OVER(ORDER BY Price DESC) As PriceRank
FROM Products
ProductID Name Price PriceRank
8 Desk 495.0000 1
10 Executive Chair 295.0000 2
9 Chair 125.0000 3
5 Mouse 14.9500 4
6 Mousepad 9.9900 5
11 Scissors 8.5000 6
4 Stapler 7.9500 7
3 Binder 1.9500 8
...
SELECT c.Name, o.DateOrdered, tab.TotalOrderAmount, 
ROW_NUMBER() OVER (PARTITION BY c.CustomerID ORDER BY TotalOrderAmount DESC) AS BestCustomer
FROM vwTotalAmountBilledPerOrder AS tab
INNER JOIN Orders AS o ON
o.OrderID = tab.OrderID
INNER JOIN Customers AS c ON
c.CustomerID = o.CustomerID
Name DateOrdered TotalOrderAmount BestCustomer
Bob 12/1/2005 12649.9900 1
Bob 12/19/2005 265.8500 2
Tito 12/22/2005 14.9500 1
Tito 12/18/2005 12.4400 2
Darren 1/2/2006 620.0000 1
Bruce 1/5/2006 14.9500 1
Bruce 1/4/2006 9.9900 2
Lee Ann 1/3/2006 8.5000 1
...

2 RANK

SELECT c.Name, o.DateOrdered, tab.TotalOrderAmount, 
RANK() OVER (ORDER BY TotalOrderAmount DESC) AS BestCustomer
FROM vwTotalAmountBilledPerOrder AS tab
INNER JOIN Orders AS o ON
o.OrderID = tab.OrderID
INNER JOIN Customers AS c ON
c.CustomerID = o.CustomerID
Name DateOrdered TotalOrderAmount BestCustomer
Bob 12/1/2005 12649.9900 1
Darren 1/2/2006 620.0000 2
Bob 12/19/2005 265.8500 3
Tito 12/22/2005 14.9500 4
Bruce 1/5/2006 14.9500 4
Tito 12/18/2005 12.4400 6
Bruce 1/4/2006 9.9900 7
Lee Ann 1/3/2006 8.5000 8
...

3 NTILE

SELECT ProductID, Name, Price, NTILE(4) OVER (ORDER BY Price DESC) as Quartile
FROM Produts

ProductID Name Price Quartile
8 Desk 495.0000 1
10 Executive Chair 295.0000 1
9 Chair 125.0000 2
5 Mouse 14.9500 2
6 Mousepad 9.9900 3
11 Scissors 8.5000 3
4 Stapler 7.9500 4
3 Binder 1.9500 4
分享到:
评论

相关推荐

    SQL Server 2005 提供了4个行号排序函数

    ### SQL Server 2005 行号排序函数详解 #### 一、引言 在数据库操作中,经常需要对查询结果进行排序处理,尤其是在实现数据分页时。SQL Server 2005 引入了一系列窗口函数,其中行号排序函数在数据排序和分页方面...

    SQL语句获取指定行号段数据

    当我们需要对大量数据进行分页展示或者高效地获取特定行范围内的数据时,掌握如何使用SQL语句获取指定行号段的数据至关重要。这篇文档将详细介绍如何通过SQL实现这一功能。 首先,了解SQL的基本语法。`SELECT`语句...

    SQL查询中的行号(Microsoft SQL Server 2000和2005)

    总结来说,`ROW_NUMBER()`函数是SQL Server 2000和2005中为查询结果分配行号的关键工具,尤其在处理大量数据时,它极大地提高了效率和便利性。对于更早的版本,可以利用临时表和变量等方法来实现类似功能。理解并...

    HANA SQL参考手册

    ### HANA SQL参考手册知识点概览 #### 一、引言 HANA SQL参考手册是为SAP HANA数据库设计的全面指南,旨在提供关于如何使用SQL语言与HANA进行交互的所有必要信息。该手册覆盖了从基本概念到高级主题的各种内容,...

    SQL Server2005分页查询

    `ROW_NUMBER()`是SQL Server 2005引入的新功能,可以为查询结果集中的每一行赋予一个唯一的行号。在分页查询中,通常结合`TOP`或`BETWEEN`来实现。以下是一些示例: - `TOP`方法: ```sql SELECT TOP 20 * ...

    最新最全银行系统联行号SQL直接导入

    最新最全银行系统联行号(银行行号)数据,SQL文档,省去复杂的转换工作,直接导入数据库,方便快捷

    SQL Server 2005 格式化sql语句

    在SQL Server 2005中,格式化SQL语句是一项重要的任务,它能帮助数据库管理员和开发人员更好地理解和维护复杂的查询。一个清晰、整洁的SQL语句不仅可以提高代码的可读性,也有助于减少错误和提高工作效率。本文将...

    解析SQL2005中如何使用CLR函数获取行号

    标题中的“解析SQL2005中如何使用CLR函数获取行号”可能是指在生成Excel文件时,如何为数据行添加行号。通常,这可以通过在查询中使用ROW_NUMBER()窗口函数来实现,但在CLR存储过程中,我们需要自定义逻辑来生成这些...

    SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)

    SELECT * FROM #1 B.SQL 2005提供一个很好用的函数row_number(), 可以直接用来显示行号,当然也可以使用SQL 2000的identity SELECT row_number()over(ORDER BY DataID) AS ROWNUM, [DataID] FRO

    C# SQL2005 分页排序存储过程

    在.NET开发环境中,C#与SQL Server 2005的结合是常见的数据访问技术。在处理大量数据时,分页排序是提高用户体验和系统性能的重要手段。本篇将深入探讨如何在C#中调用SQL Server 2005的存储过程来实现分页排序功能。...

    从数据库读取并解析大文本.zip_SQL 查询大文本_sql查询时加上行号

    在SQL Server数据库中,处理大文本数据是一项常见的任务,特别是在分析和报告的场景下。有时候,我们可能需要在查询结果中包含行号以便于跟踪和理解数据。本篇将详细介绍如何在SQL Server中进行这样的操作。 首先,...

    SQL SERVER 2005 新增的几个小功能

    ### SQL Server 2005新增的小功能详解 #### 一、分页查询数据 在SQL Server 2005之前,实现分页查询通常较为复杂且效率不高。随着SQL Server 2005的发布,引入了一种更为简便的方式来实现分页查询,即通过`ROW_...

    sql2000和sql2005分页存储过程

    在SQL Server 2000和SQL Server 2005中,虽然没有内置的分页功能,但可以通过自定义存储过程来实现。下面将详细介绍这两种版本中的分页存储过程实现方式。 1. SQL Server 2000 分页存储过程: 在SQL Server 2000中...

    sql2005储存过程分页

    根据提供的信息,我们可以深入探讨如何在SQL Server 2005中通过存储过程实现分页功能。本篇文章将详细介绍存储过程的设计思路、SQL查询语句的构造方法以及如何根据不同的参数来灵活调整查询结果。 ### 存储过程设计...

    MYSQL获取行号row_no

    ### MySQL 获取行号row_no 在数据库操作中,有时候我们需要为查询结果集中的每一行添加一个行号(或行序号),类似于Oracle中的`ROW_NUMBER()`功能。然而MySQL并未直接提供与Oracle完全相同的功能,因此我们需要...

    行号 VS c# 代码

    - 如果希望在其他类型的文件(如CSS、HTML或SQL脚本)中也显示行号,只需按照上述步骤进入相应语言的设置项。 - 例如,对于CSS文件,选择“文本编辑器”(Text Editor)下的“CSS”选项,然后重复同样的操作即可。...

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

    从SQL Server 2005版本开始,微软引入了一个强大的窗口函数——ROW_NUMBER() OVER,使得这个任务变得简洁高效。本文将详细解释ROW_NUMBER() OVER函数的工作原理及其使用方法。 ROW_NUMBER() OVER函数是SQL Server中...

    sql server 2005

    SQL Server 2005是微软公司推出的一款关系型数据库管理系统,它在IT行业中扮演着重要的角色,尤其在数据存储、管理和分析方面。本讲义旨在深入探讨SQL Server 2005的核心特性、功能以及如何有效利用这些功能进行...

Global site tag (gtag.js) - Google Analytics