我的表
DiagnosisCodes
Sequence Type Value
1 Diagnosis 123
22 Diagnosis 456
38 Principal 111
4 Diagnosis 789
53 Principal 222
我需要从“诊断”表中进行选择,并根据“序列和类型”为每一行分配一个等级。最低序列获得该类型的最低等级。例如:序列1是类型"诊断"的最低序列。所以它的等级应该是1,类似的序列4是类型#34的第二低;诊断"所以它的等级应该是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
我正在考虑使用数据透视或分区,但不确定这是否是最好的方法。
答案 0 :(得分:3)
使用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
代替{{1}}