鉴于:DEMO Here
目标:我正在尝试为枢轴塔的行和列提供排序值。
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
答案 0 :(得分:3)
您可以使用DENSE_RANK()来获得所需的结果,请参阅我的example
SELECT
Id,
GroupId,
TopId,
DENSE_RANK() OVER (ORDER BY TopId ASC)
FROM Tracker
ORDER BY TopId;