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-012020-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;