为表中的类似值添加Ordinal / Consecutive Value

时间:2014-08-19 16:09:26

标签: sql sql-server tsql

好的 - 我有一个包含以下列的表 - 我需要做的是,在存在相同visit_no的情况下,我需要为每个代码填充带有序号(优先级)的int字段 - 例如 - 所以“优先级”字段是我想要填充的 - 每个类似“visit_no”中每个“代码”值的新连续数字

Visit_no    Code     Priority
123456      97110    1
445566      85025    1
445566      71402    2
445566      71020    3
789888      80053    1
789888      97110    2
111111      85025    1

1 个答案:

答案 0 :(得分:0)

Dense_Rank是一个函数,只有当您的排序值发生变化时才会增加排名。

http://msdn.microsoft.com/en-ca/library/ms173825.aspx

Select Visit_no, Code, Priority = DENSE_RANK() OVER (Partition by Visit_No order by Code)
From YourTable