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

探討SQL Server 2005的評(píng)價(jià)函數(shù)(3)_Mssql數(shù)據(jù)庫(kù)教程

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

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

RANK和DENSE_RANK函數(shù)都能夠使用相同的評(píng)價(jià)計(jì)數(shù)級(jí)。例如,使用下列查詢:

SELECT c.Name,o.DateOrdered,tab.TotalOrderAmount, RANK() OVER (ORDER BY TotalOrderAmount DESC) AS BestCustomerFROM vwTotalAmountBilledPerOrder AS tab INNER JOIN Orders AS o ON o.OrderID = tab.OrderID INNER JOIN Customers AS c ON c.CustomerID = o.CustomerID

  這個(gè)語(yǔ)句將返回如下表所示的結(jié)果:

Name DateOrdered TotalOrderAmount BestCustomer
Bob 12/1/2005 12649.9900 1
Darren 1/2/2006 620.0000 2
Bob 12/19/2005 265.8500 3
Tito 12/22/2005 14.9500 4
Bruce 1/5/2006 14.9500 5
Tito 12/18/2005 12.4400 6
Bruce 1/4/2006 9.9900 7
Lee Ann 1/3/2006 8.5000 8
...

  注意,具有相同數(shù)量的兩個(gè)訂單是怎樣都被評(píng)價(jià)為#4的。RANK和DENSE_RANK之間的不同之處在于,在平級(jí)的結(jié)果后他們是如何重新開(kāi)始計(jì)數(shù)的。RANK繞過(guò)盡可能多的平級(jí)的結(jié)果。在我們上面的示例中,因?yàn)橛袃蓚(gè)結(jié)果綁定在#4上,因此跟隨其后的#5被跳過(guò)而評(píng)價(jià)等級(jí)以#6繼續(xù)。另一方面,DENSE_RANK從下一個(gè)整數(shù)繼續(xù)。如果我們?cè)谏厦娴牟樵冎惺褂煤瘮?shù)名DENSE_RANK代替RANK,那么Tito在2005年12月18日相應(yīng)于單價(jià)$12.44的訂單評(píng)價(jià)將是#5。

  類似于ROW_NUMBER函數(shù),RANK和DENSE_RANK函數(shù)都能使用可選的PARTITION BY語(yǔ)句。

  五、 使用NTILE函數(shù)對(duì)評(píng)價(jià)結(jié)果進(jìn)行分組

  SQL Server 2005新引入的最后一個(gè)與T-SQL函數(shù)相關(guān)的評(píng)價(jià)函數(shù)是NTILE(int)。NTILE象其它的評(píng)價(jià)函數(shù)一樣操作,但是它能夠把結(jié)果分成組,每組中相應(yīng)相同評(píng)價(jià)結(jié)果的記錄。你可以使用NTILE函數(shù)把結(jié)果分解成兩組、三組或四組等,如下例所示:

SELECT ProductID,Name,Price,NTILE(4) OVER (ORDER BY Price DESC) as QuartileFROM Produts

  這個(gè)語(yǔ)句將返回如下表所示的結(jié)果:

ProductID Name Price Quartile
8 Desk 495.0000 1
10 Executive Chair 295.0000 1
9 Chair 125.0000 2
5 Mouse 14.9500 2
6 Mousepad 9.9900 3
11 Scissors 8.5000 3
4 Stapler 7.9500 4
3 Binder 1.9500 4

  在隨本文下載的演示程序中,我提供了一個(gè)例子,它使用了一個(gè)具有NTILE函數(shù)的視圖來(lái)允許用戶有選擇地查看各種分組的最大訂單量。

  六、 結(jié)論

  在本文中,我們探討了SQL Server 2005中的四個(gè)新函數(shù)的用法。這四個(gè)新函數(shù)分別是:ROW_NUMBER,RANK,DENSE_RANK和NTILE。與SQL Server 2000使用的舊技術(shù)相比,它們使得返回評(píng)價(jià)結(jié)果更為容易。然而,這些函數(shù)僅僅是SQL Server 2005中所提供的新的T-SQL特征中的極少的一部分。

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

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