在MS SQL2005或者是sybase 以後,增加了一些幫查詢結果加上序號的函數
以下的範例使用北風(NorthWind)資料庫
介紹如下:
1.ROW_NUMBER
依照指定的欄位排序,並逐筆加上順號的方式
例如:
SELECT ROW_NUMBER() OVER(ORDER BY CustomerID) AS ROWID ,* FROM Orders
全部是序号标记
2.RANK
依照排序的欄位,相同的資料相同排名,下一個不同會【跳脫】
SELECT RANK() OVER(ORDER BY CustomerID) AS ROWID ,* FROM Orders
3.DENSE_RANK
依照排序的欄位,相同的資料相同排名,下一個不同會【不跳脫】
SELECT --ROW_NUMBER() OVER(ORDER BY CustomerID) AS ROWID
--RANK() OVER(ORDER BY CustomerID) AS ROWID
DENSE_RANK() OVER(ORDER BY CustomerID) AS ROWID ,* FROM Orders
4. 分类统计及标号
row_number() over( partition by 客户简称 order by 客户代号) "RANK" ,