`

SQL2005新增函数

阅读更多

SQL2005新增了几个结果集行号、排名、分组等函数,给我们带来了很大的方便。

 

1. ROW_NUMBER函数
    返回结果集分区内行的序列号。SQL表是基于集合的,没有像DBF,ACCESS这样的记录行的概念。ROW_NUMBER函数返回行号不是数据表的物理行号,而是结果集分区内行的序列号。

    如:SELECT ROW_NUMBER() OVER (ORDER BY ProdCode) AS rownum, * FROM t_Product

   

      返回基于列ProdCode排序集合的行号。利用ROW_NUMBER 及 OVER排序子句,我们可以实现数据分页功能,而以前要比较复杂的代码才能实现。

<!---->SELECT TOP(10) prodcode,name FROM (  SELECT prodcode,name, ROW_NUMBER() OVER (ORDER BY prodcode) AS ROW_Number FROM t_product) as T WHERE Row_Number > ((5 - 1* 10

     这条语句显示产品表的第5页 ,每页10行记录。

 

2. 分组 NTITLE

     NTITLE函数将指定数据集划分成N个组,分组时由Orderby指定排序列。如将产品表划分成10个组:

<!---->Select  prodcode,name,ProdTypeCode,NTile(10OVER(ORDER BY ProdTypeCode) AS NTile From  t_product

      

3. RANK、DENSE_RANK排名函数

     排名函数很容易实现诸如销售排名报表这样的功能,同ROW_NUMBER、NTITLE一样需要指定OVER 排名窗口函数,确定行集的分区和排序。如实现按业务员的销量排名表。

<!---->Select  prodid,Sum(quantity) as Total,Rank() OVER(ORDER  BY Sum(quantity) descAS Rank     From   secontdetl   Group by prodid

     运行结果如下:

 

     DENSE_RANK与RANK不同的是返回指定元组在指定集中的排名(排名从 1 开始),但排名号不间断。即如果有2个并列第1名,那么RANK函数第3行记录将是排名3,而DENSE_RANK是2.

分享到:
评论

相关推荐

    sql2005,2008,2012新增函数方法列举

    sql2005,2008,2012新增函数方法列举:只列举了名称,可以到网络自己查询相关内容

    SQL SERVER2012中新增函数之字符串函数CONCAT详解

    在SQL Server 2012中,引入了一个新的字符串函数——CONCAT,它的主要功能是方便地连接多个字符串。在CONCAT函数出现之前,我们通常使用 "+" 运算符来连接字符串,但这种方法存在一个问题,即如果其中任何一个字符串...

    SQL自定义函数的好处

    SQL自定义函数是SQL Server 2000中新增的数据库对象,它允许用户根据需要自定义函数,以满足特定的业务需求。与系统内置的函数不同,自定义函数可以根据用户的需求进行定制,满足特定的业务需求。 SQL自定义函数的...

    SQL2000 转换成SQL2005

    2. **函数和存储过程兼容性:**某些SQL Server 2005的功能可能不适用于2000版本,例如新的函数和存储过程等。 3. **测试:**在实际转换前进行全面测试,确保转换后数据库的完整性和正确性。 4. **备份:**在进行任何...

    sql server基本系统函数

    ### SQL Server基本系统函数概述 SQL Server作为一款强大的关系型数据库管理系统,在其功能体系中集成了大量的内置函数,这些函数可以极大地简化开发人员的操作过程,提高数据处理的效率与准确性。根据官方文档以及...

    SQL2005数据库对比工具

    从标签“SQL2005数据库对比工具”我们可以推断,这个工具是专为SQL Server 2005设计的,可能不支持更早或更新的SQL Server版本。因此,如果你有多个版本的SQL Server环境,需要选择对应版本的对比工具。 压缩包内的...

    SQL2000与SQL2005语法对比

    而在SQL2005中,新增了`sys.objects`视图。`sys.objects`提供了一个更现代且全面的接口,它只支持SQL2005,用于查询所有用户定义的架构范围内的对象。尽管SQL2005仍然保留了`sysobjects`和`sys.sysobjects`以保持向...

    sqlserver2000日期函数处理大全

    此外,随着SQL Server版本的更新,新的日期和时间函数也不断出现,例如在SQL Server 2005及以后的版本中,新增了关于日期和时间的更多高级功能。尽管如此,SQL Server 2000的日期函数仍然是理解和掌握SQL日期处理的...

    Microsoft SQL Server 2005 Native Client

    2. **支持新特性**:它支持SQL Server 2005引入的新特性,如行版本控制、分区视图、用户定义的函数和存储过程等。 3. **安全性增强**:支持集成Windows身份验证,提供更安全的连接方式,同时支持SQL Server的角色...

    SQL SERVER 2005 新增的几个小功能

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

    在SQL2000中,自定义函数中使用getdate()

    在更现代的SQL Server版本中(如SQL Server 2005及以上),可以直接在函数中使用`GETDATE()`而无需这些变通方法。 #### 结论 在SQL Server 2000中,通过创建视图并将`GETDATE()`的值存储在其中,然后再通过自定义...

    Microsoft SQL Server 2005 技术内幕:T-SQL程序设计(CHM格式)

    该书解释并比较了SQL Server 2000和SQL Server 2005在数据库开发相关问题上的解决方案,深入讨论了SQL Server 2005中新增的T-SQL编程特性,包含了大量的代码示例、表示例和逻辑难题以帮助数据库开发人员和管理员理解...

    sql函数集合(具体的讲解函数例子帮助理解)

    以上只是SQL函数集合中的一部分,实际中还有更多的函数,如位运算函数、窗口函数等,每个都有自己独特的用途。掌握并熟练运用这些函数,能有效提升SQL查询的效率和灵活性。在实际工作中,可以根据需求灵活选择和组合...

    Microsoft SQL Server2005技术内幕:T-SQL查询(中文PDF版)part1

    该书解释并比较了sql server 2000和sql server 2005在数据库开发相关问题上的解决方案,深入讨论了sql server 2005中新增的t-sql编程特性,包含了大量的代码示例、表示例和逻辑难题以帮助数据库开发人员和管理员理解...

    SQL_函数SQL_函数SQL_函数SQL_函数

    6. **SQL MIN() 函数**:与`MAX()` 相反,`MIN()` 函数返回一列中的最小值,如`MIN(date)` 可找出最早的日期。 7. **SQL SUM() 函数**:用于计算一列数值的总和。例如,`SUM(amount)` 返回指定表中"amount"列的所有...

    sql2000的自定义函数,传入汉字返回汉字拼音

    由于SQL Server 2000的年代较早,可能没有内置的汉字转拼音支持,所以可能需要依赖第三方库或者自建数据结构。 2. **函数结构**:UDF的主体部分通常是一个接受输入参数(例如汉字字符串)的存储过程,然后返回对应...

    SQL Server 2005 T-SQL增强

    在SQL Server 2005中,新增了以下几种排名函数: - **ROW_NUMBER**: 为结果集中的每一行分配一个唯一的整数。 - **RANK**: 根据特定列的值对行进行排序并分配一个排名。 - **DENSE_RANK**: 类似于RANK函数,但在...

    SQL函数总结

    ### SQL函数总结 #### 一、SQL概述 SQL(Structured Query Language,结构化查询语言)是一种专门用于管理和处理关系型数据库的标准计算机语言。它由美国国家标准协会(ANSI)制定,广泛应用于各种数据库系统中,...

    SQL SERVER 2005 简介

    该版本的T-SQL结构化查询语言大幅扩增了新的查询指令,例如XQuery、取得排名顺序的函数、集合运算搭配OVER 运算符、TOP 运算符可以搭配变量或子查询,以及透过新增的 CTE(Common Table Expression)语法完成以前...

Global site tag (gtag.js) - Google Analytics