我有一个上传到BigQuery的订单表,其中包含以下 Headers
ConsumerID,TransactionDate,Revenue,OrderID
ConsumerID和OrderID是整数TransactionDate是TIMESTAMP
数据结构如下
ConsumerId || TransactionDate || Revenue || OrderID
1 || 2014-10-27 00:00:00 UTC || 55 || 653745
1 || 2015-02-27 00:00:00 UTC || 65 || 767833
1 || 2015-12-27 00:00:00 UTC || 456 || 5676324
2 || 2014-10-27 00:00:00 UTC || 56 || 435261
2 || 2016-02-27 00:00:00 UTC || 43 || 5632436724
所以我的预期产量是
ConsumerId || Count Of Orders In Last 12 months
1 || 2
2 || 1
我想计算一下客户在首次订购之日起的头12个月内的订单数量 .
在大查询中,我写了以下内容
SELECT
ConsumerId,
COUNT(OrderNumber BETWEEN MIN(TransactionDate)AND DATE_ADD(MIN(TransactionDate),11,"MONTH")) AS CountOfOrdersTwelve,
FROM
[ordertable.orders]
GROUP BY
1,
2
ORDER BY
ConsumerId ;
但是这个错误有以下几点
错误:(L3:157):无法按聚合分组 .
有谁知道这可以在bigquery中完成?
1 回答
快速选项供您考虑(假设输入如下)
您的数据可能因数据类型而异,因此您需要进行相应的调整
Note :此版本适用于
STRING
(如上述第一个解决方案的示例)和TIMESTAMP
(如更新后的问题中所示)TransactionDate
的数据类型