sql - 根据数据将标识值添加到现有列
问题描述
我有一个具有以下数据排列的表:
在此表中,existing_order 是表有意设计的顺序。但是,由于不一致,我想再添加一列作为“行号”,就像为每个 CID 号重新开始的标识列一样。我希望结果数据如下:
我可以在 fiddler 中创建一个快速工作并尽快分享。任何帮助将不胜感激!
Rextester 链接:http ://rextester.com/live/TWO92019
解决方案
使用row_number()
功能:
select *, row_number() over (partition by CID, PDI order by Agent) as LineNo
from table t;
但是,我不转述,如果需要PDI
,您可以将其从partition
子句中删除。