gpt4 book ai didi

sql - 在 SQL Server 中删除记录后如何重新排序记录(SortOrder 列)?

转载 作者:行者123 更新时间:2023-12-02 15:41:57 27 4
gpt4 key购买 nike

我想知道在删除记录后重新排序记录的最有效方法是什么。基本上我有类似(ItemID,SortOrder)的东西。所以当我删除一个项目时,SortOrder 列将不再是递增的。我想重新排列数字顺序,以便数字再次递增。

我在想也许我可以使用 RANK 功能来做到这一点......但我不太确定该怎么做。

最佳答案

如果您使用的是支持 T-SQL 的东西(即不是精简版),那么这应该可以工作。

假设您的表名为 Item 并且订单当前是递增的(没有间隙),

declare @SortOrder int

select @SortOrder = SortOrder from Item where ItemID = @ItemID

update Item set SortOrder = SortOrder - 1 where SortOrder > @SortOrder

delete Item where ItemID = @ItemID

关于sql - 在 SQL Server 中删除记录后如何重新排序记录(SortOrder 列)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3080351/

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