我尝试使用Sql Server 2008 R2
中的随机数更新我的列。
例如myTable
如下所示:
id password
1 NULL
2 NULL
3 NULL
4 NULL
4 NULL
5 NULL
5 NULL
5 NULL
当我通过生成5位数的随机数更新password
时,表格如下:
UPDATE myTable
SET password = CONVERT(numeric(5,0),RAND(convert(varbinary,newid()))*89999)+10000
id password
1 87781
2 15395
3 62154
4 74194
4 49599
5 54090
5 47287
5 63193
而且,我的问题是为每个password
生成id
。
可以帮助我查询给出结果:
id password
1 87781
2 15395
3 62154
4 74194
4 74194
5 54090
5 54090
5 54090
答案 0 :(得分:2)
第一次更新后,你可以再做一次:
;with cte as(select *, min(password) over(partition by id) as pnew from myTable)
update cte set password = pnew