Sql 将列增量更新为1
我有一个由数字1,2,3,5,6,9组成的列Sql 将列增量更新为1,sql,sql-server,Sql,Sql Server,我有一个由数字1,2,3,5,6,9组成的列 请告知SQL存储过程如何从1开始更新此列,以此类推,其中ORDERBY date\u columndate。您可以使用类似的方法。请检查order by direction,如果两行具有相同的日期值,您可以在OVER中的order by子句中添加其他表达式 添加示例表数据和预期结果,全部作为格式化文本而不是图像。标记您正在使用的dbms。向我们展示您当前的代码尝试。根据您的DBMS,这可能或多或少比较简单,但您认为为什么需要它?是否要在删除行时开始重
请告知SQL存储过程如何从1开始更新此列,以此类推,其中ORDERBY date\u columndate。您可以使用类似的方法。请检查order by direction,如果两行具有相同的日期值,您可以在OVER中的order by子句中添加其他表达式
添加示例表数据和预期结果,全部作为格式化文本而不是图像。标记您正在使用的dbms。向我们展示您当前的代码尝试。根据您的DBMS,这可能或多或少比较简单,但您认为为什么需要它?是否要在删除行时开始重新编号?请告诉我们您正在使用的dabatase管理系统。例如,是SQL Server还是MySQL?SQL只是查询语言。SQL Server是使用的DB im。UPDATE TCRITERIA_GROUP_PS SET PRIORITY_CD=PRIORITY_CD+1不适用,因为如果PRIORITY_CD值为1,则会将其更新为2。我应该从1点开始。谢谢以西奎尔,这正是我需要的。非常感谢你。
CREATE PROCEDURE dbo.ResetNumber
AS
BEGIN
;WITH Ranking AS
(
SELECT
T.ColumnWhichHoldsTheValue,
Ranking = ROW_NUMBER() OVER (ORDER BY T.date_column ASC) -- Please see if it should be ASC or DESC
FROM
YourTable AS T
)
UPDATE T SET
ColumnWhichHoldsTheValue = T.Ranking
FROM
Ranking AS T
END