Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
google bigquery SQL按聚合函数分组_Sql_Group By_Google Bigquery_Case When - Fatal编程技术网

google bigquery SQL按聚合函数分组

google bigquery SQL按聚合函数分组,sql,group-by,google-bigquery,case-when,Sql,Group By,Google Bigquery,Case When,在大查询标准SQL中,我得到错误消息: 错误:第7列包含聚合函数,在[17:22]的GROUP BY中不允许使用该函数 其中第7列在select子句中定义如下:- 当MIN(事务\U dttm)=事务\U dttm,然后“新建”或“现有”结束为FCQUISTION\U标志时的情况 请注意,交易日期是一个时间戳 任何建议的解决方案均受欢迎。也许您只想在子查询中使用窗口功能: SELECT . . . FROM (SELECT . . . , (CASE WHEN tran

在大查询标准SQL中,我得到错误消息:

错误:第7列包含聚合函数,在[17:22]的GROUP BY中不允许使用该函数

其中第7列在select子句中定义如下:-

当MIN(事务\U dttm)=事务\U dttm,然后“新建”或“现有”结束为FCQUISTION\U标志时的情况

请注意,交易日期是一个时间戳


任何建议的解决方案均受欢迎。

也许您只想在子查询中使用窗口功能:

SELECT . . .
FROM (SELECT . . . ,
             (CASE WHEN transaction_dttm = MIN(transaction_dttm) OVER (PARTITION BY ?)
                   THEN 'NEW' ELSE 'EXISTING'
              END) AS Fcquisition_Flag
      FROM . . . 
     ) t
GROUP BY 1, 2, 3, 4, 5, 6, 7

不清楚您希望在
分区中按

编辑您的问题,并显示查询的简化版本,以及示例数据和所需结果。我看不出您的
案例
表达式有任何错误。您应该发布完整的查询。感谢Gordon&Tim。我尝试提交的查询如下:选择DATE(交易日)作为交易日,TRIM(CONCAT(交易季度),交易年)作为交易年,如果合作伙伴不在(“Nok”)则“Nok”否则“Nok”作为合作伙伴标志结束,如果MIN(交易日)=交易日dttm然后“新”或“现有”作为收购标志结束,则将(不同的SID)作为无子项计数,计数(当se='P'然后1 ELSE 0 END时的情况)作为sp_从
mytable
WHERE prod IN('SSDPmed')和DATE(transaction_dttm)='2018-07-01'和spf=1 GROUP乘以1,2,3,4计算,这是一个简化的查询-没有创建采集标志的情况下,它工作正常……但是当我包含它时,我得到了上面提到的错误