I want to update all the rows after the first row for each Team

前端 未结 2 910
野的像风
野的像风 2021-01-17 04:24

I want to update all the rows after the first row for each Team.

TableName: Test

ID , Team , StartTime, EndTime, TotalTime
1.......          


        
相关标签:
2条回答
  • 2021-01-17 05:07

    You can use a CTE with row_number():

    with toupdate as (
          select t.*, row_number() over (partition by team order by id) as seqnum
          from test
         )
    update toupdate
        set StartDate = DateAdd(SECOND, - ProjectedTime * 60, EndDate)
        where seqnum > 1; 
    
    0 讨论(0)
  • 2021-01-17 05:31

    You can use CTE for this.

       with cte as
        (
    
        select test.*, row_number() over (partition by team order by ID) as teamRowNum
        from TEST
        )
         UPDATE cte SET StartDate  =  DateAdd(SECOND, - ProjectedTime * 60, EndDate)
        where teamRowNum > 1
    
    0 讨论(0)
提交回复
热议问题