我想让我的查询在日期方面更加灵活。我正在考虑根据当前日期来定义变量。目前我正在编码最后一个季度的确切日期,前一个季度和一年前的季度。 这是对Q1的查询: select '2020_Q1' as time_frame, id, status, date, agent, country, sale
from sales
where date >= '2020-01-01' and date < '2020-03-31' 最后,我对Q4和Q1 (2019)和联合做了同样的事情。今天是4月27日,假设离现在还有4个月,现在是8月27日。
我可以从下面的代码中获得最后一个季度的值:
Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int presentQuarter = (month / 3) + 1;
int lastQuarter = (presentQuarter - 1) > 0 ? presentQuarter - 1 : 4;
但是我怎么才能得到上个季度的
我有一个每季度运行一次的报告(在SQL Server Management Studio 2011中),该报告从按年和按季度组织的表中提取数据。我通常在每次运行查询时手动更新它,但我想尝试让它尽可能地自动化,以供未来的用户使用。
下面是我当前用来选择所需日期范围的代码:
WHERE
(CASE
WHEN AN.[Year] = 2016 AND AN.[Quarter] IN (1,2) THEN 1
WHEN AN.[Year] = 2015 AND AN.[Quarter] IN (3,4) THEN 1
ELSE 0 END) =
我需要获得用户记录的MySQL结果与“注册”日期发生在某一季度之前的某一年。 例如,要获取数据(用户数,在Q3 2018之前注册),我执行以下请求: SELECT count(userid) AS value
FROM users
WHERE QUARTER(registered) <= "3" && YEAR(registered) <= "2018" 然而,这个请求给了我不期望的结果(值比它应该的要低得多,看起来我只得到了2018年的Q3的结果,而没有前几年任何季度的值)。如果我删除季度,只检查年份之前的数据-这很好用,并显
我一直在考虑做一个日期选择器,所以不用按月进行过滤,而是添加过滤器,然后显示快速过滤器来对应。我希望能够动态地更改日期,以便在一次下降中在季度、月和周之间进行选择。
我已经使选择部分没有问题,它显示,但当我来到我的计算领域,它不是我想要的行为。
这是我的计算域:
CASE [Parameters].[Date Select]
WHEN 'Quarter' THEN QUARTER([Date])
WHEN 'Month' THEN MONTH([Date])
WHEN 'Week' THEN WEEK([Date])
END
这造成了两个错