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

前端之家收集整理的这篇文章主要介绍了使用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

猜你在找的MsSQL相关文章