首页 > 解决方案 > SQL select,从前面的行中添加一个值

问题描述

我正在尝试用 avg 填写 2 列。案例的第一部分是正确且有效的,例如当一场比赛是主场时,它会计算主场 ORtg。但是,如果它离开了,那么我想添加最后一个客场比赛的最后一个 ORtg 值。

任何想法?

SELECT

    (CASE WHEN [Home_away] = 'home' THEN AVG ([ORtg]) OVER (PARTITION BY Team, Home_away ORDER BY [Date] rows between 81 preceding and current row)ELSE 0 END) as ORtg_home     
    ,(CASE WHEN [Home_away] = 'away' THEN AVG ([ORtg]) OVER (PARTITION BY Team, Home_away ORDER BY [Date] rows between 81 preceding and current row)ELSE 0 END) as ORtg_away


FROM [WRK_NBA_TeamTable_20210501]

标签: case

解决方案


推荐阅读