sql-统计每年相同日期之间的日期

yhuiod9q  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(331)

我有一个包含以下行的表:

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 . 我试图计算每个会计年度内的日期,因此创建下表:

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

但每个财政年度我都要这么做。我在网上也看到过类似的答案,但没有一个是有日期的。我需要使用递归查询吗?

4zcjmb1e

4zcjmb1e1#

只需添加3个月并提取年份:

select t.*,
       year(dateadd(month, 3, date)) as fiscal_year
from t;

相关问题