我有一个使用SQL Server 2008的表,它有一个带有两个可排序列的表,一个是手动设置的,另一个是通过系统过程计算的(此过程将所有内容整体排序,并从10开始分配排序,直到最高行次数10)
ID Manual System
------------------------
1 null 300
2 2 380
3 null 500
4 null 200
Run Code Online (Sandbox Code Playgroud)
我试图让它将id分类为4,2,1,3
我希望输出在应用时对系统进行手动排序.如果添加了另一行并且还需要考虑手动排序,则会使事情进一步复杂化.
ID Manual System
-----------------------
1 null 300
2 2 380
3 null 500
4 null 200
5 5 100
Run Code Online (Sandbox Code Playgroud)
所以新的排序将是4,2,1,3,5
ID Manual System
-----------------------
4 null 200
2 2 380
1 null 300
3 null 200
5 5 100
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我尝试过Rank,Dense_Rank,Row_Number等.
给出的解决方案似乎对我的例子是正确的.我忘了提到第三列personID也是这里的一个因素.
ID Manual System PersonID
-------------------------------------
4 null 200 22
2 2 380 22
1 null 300 22
3 …Run Code Online (Sandbox Code Playgroud)