善用 Row_Number() 指令

 

例:以書名排序,並取出資料筆的第4~5筆

select * from

(

select ID , Name , Row_Number() Over ( Order By Name ) Seqn

from Book

) as Table1

where Seqn between 4 and 5

 

 

 

   
Row_Number() 以資料筆數順序,依序編號。

分數 排序編號
50 1
45 2
45 3
30 4
25 5
25 6


Dense_Rank() 以資料排序順依,依序編號。
分數相同的情況下,會給相同排行編號,但不會造成跳號的情況發生。

分數 排序編號
50 1
45 2
45 2
30 3
25 4
25 4


Rank() 以資料排序順序,依序編號。
分數相同的情況下,會給相同的排行編號,但會受到資料筆數影響,而有跳號的情況發生。

分數 排序編號
50 1
45 2
45 2
30 4
25 5
25 5
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Jiang Ying-Fu 的頭像
    Jiang Ying-Fu

    Jiang Ying-Fu的部落格

    Jiang Ying-Fu 發表在 痞客邦 留言(0) 人氣()