微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用SQL UPDATE自动生成排序顺序

我最近将一个约60,000条记录导入到一个表中,该表将一个表中的数据与另一个表中的数据相关联.但是,我的客户已经要求将排序顺序添加到所有60k记录中.我希望有一种很好的清洁方法可以在sql Update中自动生成这些排序顺序.完成的数据应如下所示:
item1ID  item2ID  sortOrder
1           123       1
1           12        2
1           45        3
1           22        4
1           456       5
2           5         1
2           234       2
2           56        3

可以这样做吗?任何建议都将非常感激.

–Anne

解决方法

您可以使用[ROW_NUMBER] [1]并按Item1ID进行分区
UPDATE t1
SET t1.sortOrder = t2.sortOrder 
FROM @t t1
INNER JOIN
(SELECT Item1ID,Item2ID,ROW_NUMBER() OVER
    (PARTITION BY Item1ID ORDER BY Item1ID,Item2ID) AS SortOrder
from @t) t2
ON t1.Item1ID = t2.Item1ID 
AND t1.Item2ID = t2.Item2ID

原文地址:https://www.jb51.cc/mssql/78904.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐