¿Cómo obtener el valor de fila anterior y actual usando CTE recursivo?

Considere el siguiente

Id  Nums
1   10
2   20
3   30
4   40
5   50

La salida esperada

Id  CurrentValue    PreviousValue
1   10              Null
2   20              10
3   30              20
4   40              30
5   50              40

Estoy intentando con lo siguiente pero no tuve suerte

;With Cte(Id,CurrValue,PrevValue) As
(
    Select 
        Id
        ,CurrentValue = Nums 
        ,PreviousValue = Null
        From @t Where Id = 1
    Union All
    Select
        t.Id
        ,c.CurrValue
        ,c.PrevValue
    From Cte c
    Join @t t On c.Id <= t.Id + 1

)
Select *
From Cte

Se necesita ayud

Respuestas a la pregunta(2)

Su respuesta a la pregunta