有時候我們會遇到再同一個搜尋結果中要產生不同的排序欄位,也就是同一個select搜尋datarow中可以依需求新增兩個排序後的欄位。
如下所示:藍色字體按照Amount欄位產生,紅色字體除了以QtyKG排序,再以年度yy來區分(partition by..)。
select
'年度區域銷售' as fName
,rank() OVER ( ORDER BY Amount desc, yy) as rankAmount
,dense_rank() OVER ( PARTITION BY yy ORDER BY QtyKG desc) as rankQtyKG
,* from [mytable]
order by yy, area, QtyKG desc
這是從MS-SQL 2005版本以上的功能,排序問題在資料庫中變的相當簡單。
感謝MavisLiao資料提供。
沒有留言:
張貼留言