我的桌子
DiagnosisCodes
Sequence Type Value
1 Diagnosis 123
22 Diagnosis 456
38 Principal 111
4 Diagnosis 789
53 Principal 222我需要从诊断表中进行选择,并根据序列和类型为每一行分配一个等级。最低序列得到了Type.For实例的最低秩:序列1是“诊断”类型的最低序列,因此它的秩应该是1,同样,对于“诊断”类型来说,序列4是第二低的,所以它的排序应该是2。对于“主”类型,序列38是最低的,所以应该是1等。
我期望的产出:
Sequence Type Value Rank
1 Diagnosis 123 1
22 Diagnosis 456 3
38 Principal 111 1
4 Diagnosis 789 2
53 Principal 222 2我正在考虑使用枢轴或分区,但不确定这是否是最好的方法。
发布于 2015-02-10 17:50:45
使用Row_Number窗口函数创建秩
select sequence , Type, Value,
row_number() over(partition by Type order by sequence) As [Rank]
From yourtable注意:在tie的情况下,如果您需要相同的rank,那么使用Dense_Rank而不是Row_number
https://stackoverflow.com/questions/28438368
复制相似问题