第一个日期和其余日期之间的日期差异
Date difference between the first date and rest of the dates
我有一个 table 带有日期列,如下所示
|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 |
任何人都可以帮助或建议实现此目标的方法。
如果你想要每行最小日期的差异,你可以做一个window min()
:
select date, datediff(day, min(date) over(), date) difference
from mytable
order by date
这看起来像 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;
我有一个 table 带有日期列,如下所示
|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 |
任何人都可以帮助或建议实现此目标的方法。
如果你想要每行最小日期的差异,你可以做一个window min()
:
select date, datediff(day, min(date) over(), date) difference
from mytable
order by date
这看起来像 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;