2020.07.10 突然發現自己文章的圖片不見了,還好在自己的部落格有進行備份,若您想要看完整的文章:
序列函數 RANK, DENSE_RANK, NTILE 介紹與比較
在前面一篇我們曾經介紹 ROW_NUMBER 次序函式,在這一篇我們將簡單介紹類似的函式 NTILE 。可以將現有資料平均分乘數等分。
NTILE 語法如下:
NTILE (integer_expression)
OVER ( [ <PARTITION_BY ...> ] < ORDER_BY_CLAUSE > )
我們建立一個範例 Employee 資料表如下:
我們塞入一些資料:
我們使用 NTILE 語法,依據 Salary 將資料分成四個等分。語法如下:
SELECT [Id]
,[Name]
,[Salary]
,NTILE (4) OVER (ORDER BY [SALARY] DESC) AS [Rank]
FROM [test].[dbo].[Employee]
結果,我們可以看見資料被分成四等分,相當簡單:
https://docs.microsoft.com/zh-tw/sql/t-sql/functions/ntile-transact-sql