SQL - 计算每年相同日期之间的日期
SQL - count dates that are between same dates every year
我有一个包含以下行的 table:
date
2018-09-01
2018-10-01
2019-01-01
2019-09-01
2020-03-01
2020-08-01
假设财政年度从上一年的 10 月开始,到当年的 9 月结束。因此,2020 财年将从 2019-10-01
到 2020-09-30
。我正在尝试计算每个财政年度内的日期,因此创建以下 table:
date_count fiscal_year
1 FY18
3 FY19
2 FY20
我尝试了以下方法来获得一年:
SELECT count(*) as date_count, 'FY18' as fiscal_year
FROM table_name
WHERE date between '2017-10-01' and '2018-09-30'
然后我得到
date_count fiscal_year
1 FY18
但我需要在每个财政年度都这样做。我在网上看到过类似的答案,但 none 有日期。我需要使用递归查询吗?
只需添加 3 个月并提取年份:
select t.*,
year(dateadd(month, 3, date)) as fiscal_year
from t;
我有一个包含以下行的 table:
date
2018-09-01
2018-10-01
2019-01-01
2019-09-01
2020-03-01
2020-08-01
假设财政年度从上一年的 10 月开始,到当年的 9 月结束。因此,2020 财年将从 2019-10-01
到 2020-09-30
。我正在尝试计算每个财政年度内的日期,因此创建以下 table:
date_count fiscal_year
1 FY18
3 FY19
2 FY20
我尝试了以下方法来获得一年:
SELECT count(*) as date_count, 'FY18' as fiscal_year
FROM table_name
WHERE date between '2017-10-01' and '2018-09-30'
然后我得到
date_count fiscal_year
1 FY18
但我需要在每个财政年度都这样做。我在网上看到过类似的答案,但 none 有日期。我需要使用递归查询吗?
只需添加 3 个月并提取年份:
select t.*,
year(dateadd(month, 3, date)) as fiscal_year
from t;