?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

long8國際手機版:探討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 Manalong8國際手機版gement 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表分手包孕每一個顧客,雇員和產品信息的行記錄數據。每當一個顧客進行購long8國際手機版買活動,一條新記錄被添加到Orders表中,此中的信息唆使該顧客實現了購買、該雇員進行的這一販賣活動及訂單的日期。此中,OrderItems映射訂單中的每一件產品,產品的數量和價格總值(假定較long8國際手機版大年夜的購買量可以long8國際手機版打折)。下圖展示了這些表(及字段)以及它們之間的關系。

如圖所展示的,這個OrderItems在Orders和Products表之間建立一個對多對的連接。

當構建申報或闡發數據時,用戶或治理員常常盼望看到以某種要領對數據的評價信息。例如,你的老板可能想要一個申報來顯示賣路最好的前十項,或在第三個季度販賣部中實現最大年夜收入的前三名販賣職員。更繁雜的環境可能是僅返回第3到第5個評價排名的販賣職員。在SQL Server 2000中,返回最高排名項的查詢可以經由過程應用TOP或ROWCOUNT關鍵字來實現。為了檢索一個特定評價子集,你必要應用一種"派生表"(或者是一種基于視圖的手段)。

SQL Server 2005中引入了四個新的評價函數:ROW_NUMBER,RANK,DENSE_RANK和NTILE。只管這些與SQL Server 2000所供給的long8國際手機版函數比擬是一個顯著的進步,然則這些函數的應用仍舊存在一些限定(要求應用派生表或視圖來實現功能更為強大年夜的利用法度榜樣)。下面讓我們闡發一下每一個函數。

三、 應用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

這個語句的履行結果如下表所示:

[1]

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

河北十一选五开奖的 河北好运3 边锋陕西麻将开挂 有坂深雪2019番号 十大互联网理财平台排名 福建体彩22选5开奖走势 长沙按摩俱乐部 宁夏体育彩票11选5 欧美av免费在线 足彩即时赔率 排球比分直播网址 百搭圣甲虫 羽月希 江西快三 萨克拉门托国王vs雷霆前瞻 航心配资 爵士vs掘金大分