首页 > 解决方案 > 根据数据将标识值添加到现有列

问题描述

我有一个具有以下数据排列的表:

在此处输入图像描述

在此表中,existing_order 是表有意设计的顺序。但是,由于不一致,我想再添加一列作为“行号”,就像为每个 CID 号重新开始的标识列一样。我希望结果数据如下:

在此处输入图像描述

我可以在 fiddler 中创建一个快速工作并尽快分享。任何帮助将不胜感激!

Rextester 链接:http ://rextester.com/live/TWO92019

标签: sqlsql-server

解决方案


使用row_number()功能:

select *, row_number() over (partition by CID, PDI order by Agent) as LineNo
from table t;

但是,我不转述,如果需要PDI,您可以将其从partition子句中删除。


推荐阅读