探讨SQL Server 2005的评价函数

Houri兔_

Houri兔_

2016-01-29 16:05

探讨SQL Server 2005的评价函数,探讨SQL Server 2005的评价函数
一、 简介

  在2005年11月份,微软发行了三种新产品系列:Visual Studio 2005,SQL Server 2005和.NET框架2.0(它包括ASP.NET 2.0)。SQL Server 2005是微软自从其上一个主要发行版本SQL Server 2000以来最新版本的数据库平台。在过去五年的发展中,SQL Server中加入了大量的新特征,所有这些新内容都被总结到微软网站的一篇文章《What's New in SQL Server 2005?》中。使用SQL Server 2005作为后端数据库构建基于web应用程序的开发者很可能会对这些新特征抱有浓厚的兴趣,这些新特征包括新的T-SQL改进,更好的Visual Studio集成,与CLR/.NET框架的集成,以及SQL Server 2005 Management Studio应用程序(它是SQL Server 2000的企业管理器的一个更为"平滑"的版本)。

  与以前的SQL Server 2000相比, 2005中的T-SQL改进使得编写某些类型的查询极为容易。在SQL Server 2005中,T-SQL语法更为精练、可读和易于理解。

  在本文中,我们将专门探讨SQL Server 2005的评价函数,它们大大简化了对查询结果进行评价的过程。

  二、 数据模型和评价结果基础

  在我们分析如何使用普通查询模式之前,让我们首先创建一个能够运行这些查询的数据模型。在本文中,我使用SQL Server 2005 Express版本来实现我的演示,并且包括了一个数据库和一个ASP.NET 2.0网站(请参考本文相应的完整源码。就象Visual Studio一样,SQL Server发行中也一同加杂了其它一些不同的版本。其中,Express版本是一个针对业余爱好者、学生等群体的免费版本。如果你下载和安装Visual Web Developer(Visual Studio针对web开发者的Express版本),那么你可以选择一同安装SQL Server 2005 Express版本)。

  对于本文中的示例,我们将使用一个含有产品、销售人员(雇员)、顾客和订单信息的数据库。我们使用五个表来建模:Customers,Employees,Products,Orders和OrderItems。其中,Customers,Employees和Products表分别包含每一个顾客,雇员和产品信息的行记录数据。每当一个顾客进行购买活动,一条新记录被添加到Orders表中,其中的信息指示该顾客实现了购买、该雇员进行的这一销售活动及订单的日期。其中,OrderItems映射订单中的每一件产品,产品的数量和价格总值(假定较大的购买量可以打折)。下图展示了这些表(及字段)以及它们之间的关系。

 
如图所展示的,这个OrderItems在Orders和Products表之间建立一个对多对的连接。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/sqlserver/)
  当构建报告或分析数据时,用户或管理员经常希望看到以某种方式对数据的评价信息。例如,你的老板可能想要一个报告来显示卖路最好的前十项,或在第三个季度销售部中实现最大收入的前三名销售人员。更复杂的情况可能是仅返回第3到第5个评价排名的销售人员。在SQL Server 2000中,返回最高排名项的查询可以通过使用TOP或ROWCOUNT关键字来实现。为了检索一个特定评价子集,你需要使用一种"派生表"(或者是一种基于视图的手段)。

  SQL Server 2005中引入了四个新的评价函数:ROW_NUMBER,RANK,DENSE_RANK和NTILE。尽管这些与SQL Server 2000所提供的函数相比是一个明显的进步,但是这些函数的使用仍然存在一些限制(要求使用派生表或视图来实现功能更为强大的应用程序)。下面让我们分析一下每一个函数。

  三、 使用ROW_NUMBER函数计算行数

  这个ROW_NUMBER函数把一个序数值赋给每一个返回的记录,该序数值依赖于一个特定的与这个函数一起使用的ORDER BY语句。函数ROW_NUMBER的语法是:ROW_NUMBER() OVER([partition] ORDER BY子句)。例如,下列查询将返回从最贵的到最便宜的产品,对每一种产品按价格进行评价:

SELECT ProductID,Name,Price, ROW_NUMBER() OVER(ORDER BY Price DESC) As PriceRankFROM Products
展开更多 50%)
分享

猜你喜欢

探讨SQL Server 2005的评价函数

SQLServer
探讨SQL Server 2005的评价函数

探讨SQL Server 2005.NET CLR编程

SQLServer
探讨SQL Server 2005.NET CLR编程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SQL Server 2005中XML操作函数详解

Web开发
SQL Server 2005中XML操作函数详解

Microsoft SQL Server 2005 概述

编程语言 网络编程
Microsoft SQL Server 2005 概述

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Sql Server基本函数

编程语言 网络编程
Sql Server基本函数

sql server日期时间函数

编程语言 网络编程
sql server日期时间函数

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

[DIY]快给电脑装个虚拟HUB

[DIY]快给电脑装个虚拟HUB

用WinRAR合并音频文件

用WinRAR合并音频文件
下拉加载更多内容 ↓