gpt4 book ai didi

sql - T-SQL 重新排序表中的行

转载 作者:行者123 更新时间:2023-12-04 22:31:04 28 4
gpt4 key购买 nike

如果这是一个重复的问题,我没有查到:(

我有一个看起来像这样的表:

VersionID DocumentID VersionNo
111 12345 1
112 12345 2
113 12345 3

我需要将“VersionNo”列(所有其他列保持不变)的顺序颠倒如下:

VersionID DocumentID VersionNo
111 12345 3
112 12345 2
113 12345 1

我在考虑 CTE 和 ROW_NUMBER() OVER 但无法使其正常工作...

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

试试这个:

SELECT VersionID, DocumentID, ROW_NUMBER() OVER(PARTITION BY DocumentID ORDER BY VersionID DESC) as VersionNo 
FROM YOUR_TABLE

如果你需要更新你的表,使用这个:

;WITH CTE AS (
SELECT VersionID, DocumentID, ROW_NUMBER() OVER(PARTITION BY DocumentID ORDER BY VersionID DESC) as VersionNoNew
FROM YOUR_TABLE
)
UPDATE CTE
SET VersionNo = VersionNoNew

关于sql - T-SQL 重新排序表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10087712/

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