当前位置:  开发笔记 > 数据库 > 正文

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

如何解决《使用SQLUPDATE自动生成排序顺序》经验,为你挑选了1个好方法。

我最近将一个约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



1> cmsjr..:

您可以使用[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

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有