首页 > 解决方案 > 如何用序列号集替换 Studio 中列中的随机值?

问题描述

我的 SQL 数据库中有一个成员数据表,每个成员的 ID 都有一个随机但唯一的 8 位数字。

我希望能够用从 1000 开始的序列号替换所有这些数字,因此它将替换:

24587469
22546587
14125638
98567458

和:

1001
1002
1003
1004

等等。

我对 SQL 的了解非常有限,而且我还没有找到一种似乎可以在 google 或此处工作的方法来执行此操作。

标签: sql-server

解决方案


如果您不关心顺序,那么您可以使用ROW_NUMBER按数据列排序:

WITH cte AS (
    SELECT data, 1000 + ROW_NUMBER() OVER (ORDER BY data) rn
    FROM yourTable
)

如果您还想更新,请使用:

UPDATE cte
SET data = rn;

推荐阅读