sql-server - 如何用序列号集替换 Studio 中列中的随机值?
问题描述
我的 SQL 数据库中有一个成员数据表,每个成员的 ID 都有一个随机但唯一的 8 位数字。
我希望能够用从 1000 开始的序列号替换所有这些数字,因此它将替换:
24587469
22546587
14125638
98567458
和:
1001
1002
1003
1004
等等。
我对 SQL 的了解非常有限,而且我还没有找到一种似乎可以在 google 或此处工作的方法来执行此操作。
解决方案
如果您不关心顺序,那么您可以使用ROW_NUMBER
按数据列排序:
WITH cte AS (
SELECT data, 1000 + ROW_NUMBER() OVER (ORDER BY data) rn
FROM yourTable
)
如果您还想更新,请使用:
UPDATE cte
SET data = rn;
推荐阅读
- node.js - 想使用nodejs解析谷歌云存储中的csv文件
- r - 将字符串解析为嵌套的 data.table
- azure - 带有文件分区的 Azure Data Lake 增量加载
- decision-tree - 在 Azure 机器学习工作室中可视化决策丛林
- javascript - 如何将二进制图像数据转换为nodejs中相同图像的URI?
- php - 我需要得到字符串中*后对应的数字
- reactjs - 为什么我在 iframe 加载后无法获取 iframe.contentWindow?
- c - 读写函数中的系统调用
- css - 使用 css 的自定义 css 仅适用于主页而不是整个网站
- tensorflow - 如何在每个特定步骤更新参数?