---使用RANK()函數搭配Over子句,遇到相同的值會給相同的排名,其後的排名則會跳過!
SELECT [書籍編號]
,[書籍名稱]
,[價格]
,[出版公司]
,RANK() OVER (ORDER BY [價格]) AS 價格排名
FROM [dbo].[書籍]
GO
---使用DENSE_RANK()函數搭配Over子句,遇到相同的值會給相同的排名,其後的排名則依序排名,不會跳過!
SELECT [書籍編號]
,[書籍名稱]
,[價格]
,[出版公司]
,DENSE_RANK() OVER (ORDER BY [價格]) AS 價格排名
FROM [dbo].[書籍]
GO
--ROW_NUMBER()此排序函數,將所有紀錄進行排序,每一筆紀錄給定一個序號,不分相同排名!
SELECT [書籍編號]
,[書籍名稱]
,[價格]
,[出版公司]
,ROW_NUMBER() OVER(order BY [價格]) AS 不分排名的編號
FROM [dbo].[書籍]
GO
--NTile分成3組
SELECT [書籍編號],[書籍名稱],[價格],
CASE NTile(3) OVER (ORDER BY 價格 DESC)
WHEN 1 THEN N'高價位'
WHEN 2 THEN N'中價位'
WHEN 3 THEN N'低價位'
END N'價格分類'
FROM [dbo].[書籍]
沒有留言:
張貼留言