加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 06:29:40 所属栏目:MsSql教程 来源:网络整理
导读:我最近将一个约60,000条记录导入到一个表中,该表将一个表中的数据与另一个表中的数据相关联.但是,我的客户已经要求将排序顺序添加到所有60k记录中.我希望有一种很好的清洁方法可以在SQL Update中自动生成这些排序顺序.完成的数据应如下所示: item1ID item2ID
我最近将一个约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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读