我有一个相应的数据结构:
ItemId ItemDescription
1 blahblah
2 blahblah
3 foobar
4 foobar
5 lorem
6 blahblah
7 lorem
我想根据itemid顺序和itemscription值对itemscription添加一个唯一的后缀。
期望结果:
ItemId ItemDescription
1 blahblah1
2 blahblah2
3 foobar1
4 foobar2
5 lorem1
6 blahblah3
7 lorem2
我尝试了一个成功的固定项目描述:
update item
set ItemDescription = ItemDescription + cast(row_num as varchar)
from (select ItemDescription , row_number() over (order by i.ItemId) as row_num
from Item i
where i.ItemDescription = 'lorem') item
但是有几千个,所以我想用一个剧本/几个剧本来完成。看来我得用一个 row_number()
使用某种嵌套选择的函数,但到目前为止没有运气。
1条答案
按热度按时间rm5edbpk1#
使用
partition by
:请注意,您不应该使用
varchar
没有长度规格。为了解决这个问题,我用concat()
而不是+
,因为它会将数字转换为字符串。