假设有数个汽车品牌,奔驰和宝马等等,旗下有不同型号,还有不同颜色。
现在要在报表中对其分别进行排名,按销量展示 品牌排名,型号排名,颜色排名,还要展示排名变化,这样子一下就把六个列给占掉了。
我现在的处理方式是在数据集中算出排名然后嵌套起来。
针对整个多排名需求,有什么更好的处理方案吗?
以SqlServer 为例
ROW_NUMBER() OVER(PARTITION BY AA ORDER BY BB DESC) CC
AA BB CC
甲 50 1
甲 40 2
甲 30 3
乙 60 1
乙 50 2
乙 10 3
RANK() OVER(ORDER BY BB DESC) CC
甲 50 2
甲 40 4
甲 30 5
乙 10 6
DENSE_RANK() OVER(ORDER BY BB DESC) CC
甲 40 3
甲 30 4
乙 10 5
多列动态排序-https://help.fanruan.com/finereport/doc-view-890.html