在我的示例中假设如何根据 start_date 找出一天中的财政季度编写此查询后,我的结果集将如下所示
SELECT
MIN(START_DATE) AS start_date,
MONTH(MIN(start_date)) AS p
FROM
xyz
GROUP BY YEAR(START_DATE)
start_date p
2001-01-01 1
2002-01-01 1
2003-01-01 1
2004-01-01 1
2005-01-01 1
2006-01-01 1
2007-01-01 1
2013-04-01 4
2018-02-01 2
2019-01-01 1
对于每一年,日期和月份的最小值如上所示。根据这个结果,我应该计算一年的季度数,即显示的最小 start_date 必须成为季度 1。假设我 2013 年的最小日期是“2013-04-01”,那么季度必须显示为 1(4, 5,6-Q1,7,8,9-Q2,10-11-12-Q3,1,2,3-Q4),如果我 2018 年的最短开始日期是“2018-02-01”,那么季度必须这样显示(2,3,4-Q1,5,6,7-Q2,8,9,10-Q3,11,12,1-Q4)
基于以上日期,现在我的输出如下所示
start_date quarter
2001-01-01 1
2002-01-01 1
2003-01-01 1
2004-01-01 1
2005-01-01 1
2006-01-01 1
2007-01-01 1
2013-04-01 1
2018-02-01 1
2019-01-31 1
如何在此查询中动态执行.. 请分享查询 任何人都可以分享查询并帮助我解决此问题