Получить предыдущее значение ячейки + вычисление значения боковой ячейки на SQL сервере - PullRequest
0 голосов
/ 22 апреля 2020

image

Я хочу вычислить значение этого типа в SQL.

Можно ли получить этот тип расчетных данных?

Ответы [ 2 ]

1 голос
/ 22 апреля 2020

Я думаю, что вы хотите:

select
    t.*,
    dateadd(
        day, 
        sum(t.duration) over(order by autoid), 
        first_value(t.date) over(order by autoid)
    ) date
from mytable t

Начиная с первого значения в столбце date (которое, как я понимаю, является единственным значением не null в этом столбце), это постепенно добавляет количество дней в столбце duration.

0 голосов
/ 22 апреля 2020

Вы, кажется, хотите совокупную продолжительность. Я бы сделал это, просто вычтя самое раннее:

select t.*,
       datediff(day, min(date) over (), date) as total_duration
from t;
...