Разница дат между первой датой и оставшейся частью дат - PullRequest
0 голосов
/ 19 марта 2020

У меня есть таблица со столбцом Дата, как показано ниже

|Date      |
|----------|
|2019-01-11|
|2019-01-12|
|2019-01-13|
|2019-01-14|
|2019-01-15|

Вывод

|Date      |Difference|
|----------|----------|
|2019-01-11|    0     |
|2019-01-12|    1     |
|2019-01-13|    2     |
|2019-01-14|    3     |
|2019-01-15|    4     |

Может кто-нибудь помочь или предложить способ достижения этого, пожалуйста.

Ответы [ 2 ]

0 голосов
/ 19 марта 2020

Это выглядит как row_number():

select output,
       row_number() over (order by date) - 1 as difference
from t;

Если вы хотели разницу с самого раннего:

select output,
       datediff(day, min(date) over (), date)
from t;
0 голосов
/ 19 марта 2020

Если вы хотите разницу с наименьшей датой для каждой строки, вы можете сделать окно min():

select date, datediff(day, min(date) over(), date) difference
from mytable
order by date
...