天天看點

SQL SERVER 2008排序函數(視窗函數)

排序函數可以用來協助給結果集增加位置資訊。SQL SERVER 2008隻有四個排序函數,介紹如下:

ROW_NUMBER:傳回結果集中給定行的序号

RANK:基于給定行集合的選擇順序,給出行的位置。如有一些值連在一起,位置間有空隙

     如兩個值在第一位,然後下一個值将在第三位

DENSE_RANK:同RANK一樣,但沒有在順序中留下空隙。RANK肯能位1,2,2,4,4,6,6;DENSE_RANK為:1,2,2,3,3,4,4-NTILE:DENSE_RANK用于将排名分為若幹部分。如果一個表有100個值,可以使用NTITL(2)将前五十個數定為1,後五十個數定為2 

示例如下: