日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

探討SQL Server 2005的評價函數(shù)_Mssql數(shù)據(jù)庫教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:SQL SERVER中易混淆的數(shù)據(jù)類型
數(shù)據(jù)類弄是數(shù)據(jù)的一種屬性,表示數(shù)據(jù)所表示信息的類型。任何一種計算機(jī)語言都定義了自己的數(shù)據(jù)類型。當(dāng)然,不同的程序語言都具有不同的特點,所定義的數(shù)據(jù)類型的各類和名稱都或多或少有些不同。

 一、 簡介

  在2005年11月份,微軟發(fā)行了三種新產(chǎn)品系列:Visual Studio 2005,SQL Server 2005和.NET框架2.0(它包括ASP.NET 2.0)。SQL Server 2005是微軟自從其上一個主要發(fā)行版本SQL Server 2000以來最新版本的數(shù)據(jù)庫平臺。在過去五年的發(fā)展中,SQL Server中加入了大量的新特征,所有這些新內(nèi)容都被總結(jié)到微軟網(wǎng)站的一篇文章《What's New in SQL Server 2005?》中。使用SQL Server 2005作為后端數(shù)據(jù)庫構(gòu)建基于web應(yīng)用程序的開發(fā)者很可能會對這些新特征抱有濃厚的興趣,這些新特征包括新的T-SQL改進(jìn),更好的Visual Studio集成,與CLR/.NET框架的集成,以及SQL Server 2005 Management Studio應(yīng)用程序(它是SQL Server 2000的企業(yè)管理器的一個更為"平滑"的版本)。

  與以前的SQL Server 2000相比, 2005中的T-SQL改進(jìn)使得編寫某些類型的查詢極為容易。在SQL Server 2005中,T-SQL語法更為精練、可讀和易于理解。

  在本文中,我們將專門探討SQL Server 2005的評價函數(shù),它們大大簡化了對查詢結(jié)果進(jìn)行評價的過程。

  二、 數(shù)據(jù)模型和評價結(jié)果基礎(chǔ)

  在我們分析如何使用普通查詢模式之前,讓我們首先創(chuàng)建一個能夠運行這些查詢的數(shù)據(jù)模型。在本文中,我使用SQL Server 2005 Express版本來實現(xiàn)我的演示,并且包括了一個數(shù)據(jù)庫和一個ASP.NET 2.0網(wǎng)站(請參考本文相應(yīng)的完整源碼。就象Visual Studio一樣,SQL Server發(fā)行中也一同加雜了其它一些不同的版本。其中,Express版本是一個針對業(yè)余愛好者、學(xué)生等群體的免費版本。如果你下載和安裝Visual Web Developer(Visual Studio針對web開發(fā)者的Express版本),那么你可以選擇一同安裝SQL Server 2005 Express版本)。

  對于本文中的示例,我們將使用一個含有產(chǎn)品、銷售人員(雇員)、顧客和訂單信息的數(shù)據(jù)庫。我們使用五個表來建模:Customers,Employees,Products,Orders和OrderItems。其中,Customers,Employees和Products表分別包含每一個顧客,雇員和產(chǎn)品信息的行記錄數(shù)據(jù)。每當(dāng)一個顧客進(jìn)行購買活動,一條新記錄被添加到Orders表中,其中的信息指示該顧客實現(xiàn)了購買、該雇員進(jìn)行的這一銷售活動及訂單的日期。其中,OrderItems映射訂單中的每一件產(chǎn)品,產(chǎn)品的數(shù)量和價格總值(假定較大的購買量可以打折)。下圖展示了這些表(及字段)以及它們之間的關(guān)系。

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

  當(dāng)構(gòu)建報告或分析數(shù)據(jù)時,用戶或管理員經(jīng)常希望看到以某種方式對數(shù)據(jù)的評價信息。例如,你的老板可能想要一個報告來顯示賣路最好的前十項,或在第三個季度銷售部中實現(xiàn)最大收入的前三名銷售人員。更復(fù)雜的情況可能是僅返回第3到第5個評價排名的銷售人員。在SQL Server 2000中,返回最高排名項的查詢可以通過使用TOP或ROWCOUNT關(guān)鍵字來實現(xiàn)。為了檢索一個特定評價子集,你需要使用一種"派生表"(或者是一種基于視圖的手段)。

  SQL Server 2005中引入了四個新的評價函數(shù):ROW_NUMBER,RANK,DENSE_RANK和NTILE。盡管這些與SQL Server 2000所提供的函數(shù)相比是一個明顯的進(jìn)步,但是這些函數(shù)的使用仍然存在一些限制(要求使用派生表或視圖來實現(xiàn)功能更為強(qiáng)大的應(yīng)用程序)。下面讓我們分析一下每一個函數(shù)。

  三、 使用ROW_NUMBER函數(shù)計算行數(shù)

  這個ROW_NUMBER函數(shù)把一個序數(shù)值賦給每一個返回的記錄,該序數(shù)值依賴于一個特定的與這個函數(shù)一起使用的ORDER BY語句。函數(shù)ROW_NUMBER的語法是:ROW_NUMBER() OVER([partition] ORDER BY子句)。例如,下列查詢將返回從最貴的到最便宜的產(chǎn)品,對每一種產(chǎn)品按價格進(jìn)行評價:

SELECT ProductID,Name,Price, ROW_NUMBER() OVER(ORDER BY Price DESC) As PriceRankFROM Products

  這個語句的執(zhí)行結(jié)果如下表所示:

分享:SQL Server 中易混淆的數(shù)據(jù)類型
近來在做數(shù)據(jù)庫設(shè)計,有時候真弄不清SQL2000里的數(shù)據(jù)類型,所以摘了這篇文章。 摘自“藍(lán)色理想”。   (1)char、varchar、text和nchar、nvarchar、ntext char和varchar的長

共3頁上一頁123下一頁
來源:模板無憂//所屬分類:Mssql數(shù)據(jù)庫教程/更新時間:2008-08-22
相關(guān)Mssql數(shù)據(jù)庫教程