我需要获得用户记录的MySQL结果与“注册”日期发生在某一季度之前的某一年。 例如,要获取数据(用户数,在Q3 2018之前注册),我执行以下请求: SELECT count(userid) AS value
FROM users
WHERE QUARTER(registered) <= "3" && YEAR(registered) <= "2018" 然而,这个请求给了我不期望的结果(值比它应该的要低得多,看起来我只得到了2018年的Q3的结果,而没有前几年任何季度的值)。如果我删除季度,只检查年份之前的数据-这很好用,并显
我有以下SQL代码片段:
WHERE YEAR(wo.audt_created_dttm) >= 2011 - 3 --narrows down to a year
AND YEAR(wo.audt_created_dttm) >= 2006 -- bad data less than 2006
AND wo.audt_created_dttm < DATEADD(mm, 1, CAST(CAST(1 * 3 as varchar) + '/01/' + CAST(2011 as varchar) as DateTime))
我将其翻译为LINQ to SQ
我想让我的查询在日期方面更加灵活。我正在考虑根据当前日期来定义变量。目前我正在编码最后一个季度的确切日期,前一个季度和一年前的季度。 这是对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日。
sl.. Country Channel Type Clicks Spend Impressions Date
1. india Social a 14 $25 1,331 2/11/2021
2. india Search b 1,748 $1,801 1,166,140 2/11/2021
3. india Display c 28,615 $3,901 8,279,59
我有一个每季度运行一次的报告(在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) =
我可以从下面的代码中获得最后一个季度的值:
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;
但是我怎么才能得到上个季度的