鉴于:这里的演示
目标:我正在尝试为数据透视表的行和列提供排序值。
OneTable
Id,GroupId,TopId,TopSort,SideId,SideSort
View1 of OneTable
Id,GroupId,TopId,TopSort
------------------------
1,1,101,null
2,1,101,null
3,1,102,null
4,1,102,null
View2 of OneTable
Id,GroupId,SideId,SideSort
------------------------
1,1,201,null
3,1,201,null
2,1,202,null
4,1,202,null
如何为每个TopId和SideId分配一个序列值给TopSort和SideSort
例如,使用上面的View1。应如下所示:
View1 of OneTable
Id,GroupId,TopId,TopSort
------------------------
1,1,101,1
2,1,101,1
3,1,102,2
4,1,102,2
您可以使用DENSE_RANK()获得所需的结果,请参见我的示例
SELECT
Id,
GroupId,
TopId,
DENSE_RANK() OVER (ORDER BY TopId ASC)
FROM Tracker
ORDER BY TopId;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句