Google bigquery google bigquery中连续12个月的聚合
我如何在WHERE子句中汇总一个连续12个月(TTM)的总用例语句?谷歌大查询 这是我的疑问Google bigquery google bigquery中连续12个月的聚合,google-bigquery,Google Bigquery,我如何在WHERE子句中汇总一个连续12个月(TTM)的总用例语句?谷歌大查询 这是我的疑问 SELECT clientid, clientname, year(revrecdate)*100 + month(revrecdate) as Period, *** NAMES the TTM period count(revrecdate) as Jobs, sum(profit) as Profits FROM oiafd.JobProfit WHERE revre
SELECT
clientid,
clientname,
year(revrecdate)*100 + month(revrecdate) as Period, *** NAMES the TTM period
count(revrecdate) as Jobs,
sum(profit) as Profits
FROM
oiafd.JobProfit
WHERE
revrecdate >= '2010-12-01 00:00:00'
and clientid = '2KOOLPDX'
and CASE WHEN month(revrecdate) = 1
THEN(revrecdate <= timestamp(concat(string(year(revrecdate)),'-01-31')) and
revrecdate >= timestamp(concat(string(year(revrecdate)-1),'-02-01')))
WHEN month(revrecdate) = 2
THEN(revrecdate <= timestamp(concat(string(year(revrecdate)),'-02-28')) and
revrecdate >= timestamp(concat(string(year(revrecdate)-1),'-03-01')))
选择
clientid,
客户名称,
年(revrecdate)*100个月(revrecdate)作为期间,***命名TTM期间
将(revrecdate)计为作业,
作为利润的总额(利润)
从…起
工作利润
哪里
revrecdate>=“2010-12-01 00:00:00”
和clientid='2KOOLPDX'
月份(revrecdate)=1时的情况
然后(revrecdate=timestamp(concat(string(year(revrecdate)-1),'-02-01'))
当月份(revrecdate)=2时
然后(revrecdate=timestamp(concat(string(year(revrecdate)-1),'-03-01'))
要回答有关将CASE语句的概念转换为可用于BigQuery的内容的问题,可以使用IF函数将每个CASE分解为WHERE中的单独子句
类似这样的方法会奏效:
...
WHERE
revrecdate >= '2010-12-01 00:00:00'
and clientid = '2KOOLPDX'
and IF(month(revrecdate) = 1,
revrecdate <= timestamp(concat(string(year(revrecdate)),'-01-31')) and
revrecdate >= timestamp(concat(string(year(revrecdate)-1),'-02-01')),
true)
and IF(month(revrecdate) = 2,
revrecdate <= timestamp(concat(string(year(revrecdate)),'-02-28')) and
revrecdate >= timestamp(concat(string(year(revrecdate)-1),'-03-01')),
true)
。。。
哪里
revrecdate>=“2010-12-01 00:00:00”
和clientid='2KOOLPDX'
如果(月(revrecdate)=1,
revrecdate=时间戳(concat(字符串(年份(revrecdate)-1),“-02-01”),
(对)
如果(月(revrecdate)=2,
revrecdate=时间戳(concat(字符串(年份(revrecdate)-1),“-03-01”),
(对)
有关IF()的详细信息,请参阅。您能再解释一下查询吗?不知道它在做什么