gpt4 book ai didi

sql-server - 如何关闭 SQL Server 中的序列间隙?

转载 作者:行者123 更新时间:2023-12-01 23:07:09 25 4
gpt4 key购买 nike

假设我有一个 Turtle 表。当我运行时

SELECT * FROM Turtle ORDER BY Sort

我明白了:

Id | Name | Sort
2 Leo 1
3 Raph 2
4 Don 5
1 Mike 7

缩小 Raph 和 Don 之间以及 Don 和 Mike 之间的差距以使表格看起来像这样的最简单方法是什么?

Id | Name | Sort
2 Leo 1
3 Raph 2
4 Don 3
1 Mike 4

无论表中有多少海龟,无论有多少空隙或每个空隙有多长,这都应该有效。

最佳答案

您可以使用带有 row_number() 的 CTE 进行更新,然后只更新 CTE:

;with CTE as (
select *, row_number () over (order by Sort) as RN
from Turtle
)

update CTE
set Sort = RN

关于sql-server - 如何关闭 SQL Server 中的序列间隙?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35022213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com