`
liuhuilin
  • 浏览: 7747 次
社区版块
存档分类
最新评论

sqlserver2005新增的排序功能

阅读更多
SELECT 
    YEAR(BirthDate),
    ROW_NUMBER() OVER(ORDER BY YEAR(BirthDate)) AS 'RowNumber',/* 按年产生一个唯一的序号 */
    ROW_NUMBER() OVER(PARTITION BY YEAR(BirthDate) ORDER BY BirthDate) AS RowNumberPartition, /* 每年产生一个唯一的序列 */
    RANK() OVER(ORDER BY YEAR(BirthDate)) AS 'Rank', /* 产生一个非紧密排名 */
    DENSE_RANK() OVER(ORDER BY YEAR(BirthDate)) AS 'Dense_Rank', /* 产生一个紧密排名 */
    NTILE(10) OVER(ORDER BY BirthDate DESC) AS 'ntile' /* 将结果分成10个组 */
FROM HumanResources.Employee
ORDER BY BirthDate


看看新的排序函数如何解决SQL server 2000中不方便解决的问题
--按BirthDate排序,取第10条到20条的数据 (这一定是最激动人心的新特性,哈哈)
SELECT BirthDate FROM 
(
    SELECT
        ROW_NUMBER() OVER(ORDER BY BirthDate) AS a,BirthDate
    FROM HumanResources.Employee
) AS a
WHERE a BETWEEN 10 AND 20

--将数据分成十份,取第三份
SELECT
    BirthDate
FROM
(
SELECT 
    NTILE(10) OVER(ORDER BY BirthDate DESC) AS a,BirthDate
FROM HumanResources.Employee
) AS a
WHERE a = 3

再来看看如何用新的排序函数解决以前在SQL server 2000中的问题
-- 出生的员工最多的一年出生多少员工(有点)
/* SQL server 2000 */
SELECT MAX(a)
FROM
(
SELECT COUNT(EmployeeID) AS a FROM HumanResources.Employee GROUP BY YEAR(BirthDate)
) AS a

/* SQL server 2005  */
SELECT MAX(a)
FROM
(
SELECT 
    ROW_NUMBER() OVER(PARTITION BY YEAR(BirthDate) ORDER BY BirthDate) AS a
FROM HumanResources.Employee
) AS a

-- 出生日期涵盖了多少年
/* SQL server 2000  */
SELECT COUNT(DISTINCT YEAR(BirthDate)) FROM HumanResources.Employee

/* SQL server 2005 */
SELECT MAX(a)
FROM
(
SELECT 
    DENSE_RANK() OVER(ORDER BY YEAR(BirthDate)) AS a
FROM HumanResources.Employee
) AS a

-- 显示前10%的数据
/* SQL server 2000  */
SELECT TOP 10 Percent BirthDate FROM HumanResources.Employee

/* SQL server 2005  */
SELECT
    BirthDate
FROM
(
SELECT 
    NTILE(10) OVER(ORDER BY BirthDate DESC) AS a,BirthDate
FROM HumanResources.Employee
) AS a
WHERE a = 1
分享到:
评论

相关推荐

    SQL Server 2014基础入门视频教程 (40集,含课件)

    11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录.mp4 15.SQL Server 2014条件限制where.mp4 16.SQL Server 2014 BETWEEN...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程

    11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录.mp4 15.SQL Server 2014条件限制where.mp4 16.SQL Server 2014 BETWEEN...

    40集SQL Server 基础入门视频教程 SQL Server 数据库基础入门必备课程.txt

    11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录.mp4 15.SQL Server 2014条件限制where.mp4 16.SQL Server 2014 BETWEEN...

    ASP.NET 2.0+SQL Server 2005全程指南-源代码

    ASP.NET 2.0+SQL Server 2005全程指南 目录 基础篇 第1章 ASP.NET概述及环境配置 1.1 认识ASRNET 1.1.1 .NET Framework框架 1.1.2 ASP.NET功能与特性 1.1.3 ASP.NET与ASP的区别 1.2 搭建ASP.NET开发环境 1.2.1...

    ROW_NUMBER SQL Server 2005的LIMIT功能实现(ROW_NUMBER()排序函数)

    SQL Server 2005新增了一个ROW_NUMBER()函数,通过它可实现类似MySQL下的LIMIT功能。下面的语法说明摘自SQL Server 2005的帮助文件

    springboot+mybatis+sqlserver 仓库管理系统

    基于springboot开发的简单且实用的仓库系统,拥有复制,导出,打印等多功能。新增几乎都是自动带出,并且还有列点击排序,列随意拖动等实用功能。

    SQL Server-My SQL-Oracle数据字典生成工具chm.zip

    V2.0【2015-05】 1、新增 WORD 模板 功能;...1、支持的数据库类型:SQL Server 2005+,My SQL,Oracle; 2、支持的文档类型:HTML,CHM,WORD; 3、基于Open XML ,不用安装 MS Office,WPS 也可以生产 DOCX 格式的文件;

    数据库编程期末答疑,卷子讲解,SQL server相关操作讲解,如有侵权请联系删除

    乐山师范学院数据库编程期末答疑,卷子讲解,SQL server相关 如下是一个简化的员工考勤应用E-R图,请在SQL Server中创建名为YQKG的数据库,包括两个数据文件,一个日志文件,文件名按SQL Server对象命名规范定义,...

    企业建站专家 SongCMS

    ● 新增栏目分类自定义排序功能。 ● 修改邮件在线反馈系统,支持添加附件(视模板而定)。 ● 修正服务器上传文件管理功能。 ● 修正了若干个已知的BUG,增加和改进30余处功能与细节。 ● 详细页(新闻、产品、内容)...

    数据库连连看 数据格式转换工具 Data-LLQ

    3、加入读取SQLServer/InterBase/SQLAnywhere三种数据库存储过程内容。 4、加入数据分析功能。(图表分析)。 5、加入数据库建模工具。 6、加入数据库字段新增、删除、修改功能。 7、加入数据库索引新增、删除功能。 ...

    DBDocumentGenerator tools.zip

    V2.0【2015-05】 1、新增 WORD 模板 功能;...1、支持的数据库类型:SQL Server 2005+,My SQL,Oracle; 2、支持的文档类型:HTML,CHM,WORD; 3、基于Open XML ,不用安装 MS Office,WPS 也可以生产 DOCX 格式的文件;

    经典SQL语句大全

    在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据 在selecte统计函数中的字段,不能和普通的字段放在一起; 13、对数据库进行操作: 分离数据库: sp_detach_db; 附加数据库:sp_attach_db 后...

    wabacus9.0 报表组件

    9、支持多数据库(SQLSERVER2K、SQLSERVER2K5、ORACLE、MYSQL、DB2等),而且很方便支持新的数据库 10、在一个项目中同时支持多个数据源,每个数据源的数据库类型可以不致 11、支持采用存储过程查询报表数据 12、...

    sqlserver 巧妙的自关联运用

    第一列按照goodsid局部分组,然后在分组后的记录中按照...以前的做法是在C#服务端将正常记录取出来(先按照GoodsId和audittime排序再取的),然后遍历整个数据集,新增了两个列,通过第一次循环解决expandfield的值问题

    动软代码生成器 修复单类代码生成器4个问题。

    修复单类代码生成器4个问题。 2.新增创建加载数据库时,... 通过SQL Server的附加功能可以将数据附加SQLServer中。 也可以通过执行DB.sql来创建这些表。 ★ 加解密工具 是 web.config中数据库连接字符串的加密工具。

    懒人工作通OA SqlServer版 v5.8.8.5

    懒人工作通OA SqlServer版 v5.8.8.5,懒人工作通网络智能办公系统是适用于企事业单位的通用型网络办公软件,融合了云创科技长期从事管理软件开发的丰富经验与先进技术,该系统采用领先的B/S(浏览器/服务器)操作方式...

    数据转换器(通用版)

    一般包括(dBase、Paradox、Access、SyBase、InterBase、SQLServer、Oracle、MySQL、DB2等)。 2003.03(新增功能) 1、加入数据字典功能。(导出SQLServer/SQL_Anywhere表结构) 2、增加了学习版(免费)使用的功能...

    讯宇进销存8.0

    1) 使用大型数据库SQL Server,系统稳定,性能更好。 2) 打印输出格式任意设计,任意增加报表格式。 3) 操作简单、易学、易用。 4) 简洁、方便的导航式业务操作。 5) 灵活、可变的用户界面。 6) 数据实时更新。 7) ...

    asp.net知识库

    ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf部署 ASP.NET 2.0 Security FAQs Asp.net 2.0功能体验,细节之Web控件(一) 隐藏控件 Asp.net 2.0功能体验,总体设计思想 Asp.net 2.0 WebPart使用经验点滴 革新:.NET...

    MSSQL Server 管理器 V3.0 免注册

    新增功能: 1. 界面大量调整把所有右击出来的菜单都显示在对应的功能位置上,操作上来更新顺手 2. 高级查询的窗口全部显示置前,整理排序窗口 3. 主查询窗口的求和功能和排序功能 4. 高级查询加入,可筛选,可分组...

Global site tag (gtag.js) - Google Analytics