Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.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 如何在BigQuery中执行switch语句而不出现聚合错误?_Google Bigquery_Case - Fatal编程技术网

Google bigquery 如何在BigQuery中执行switch语句而不出现聚合错误?

Google bigquery 如何在BigQuery中执行switch语句而不出现聚合错误?,google-bigquery,case,Google Bigquery,Case,在BigQuery中,我有一个表,在wkly_ul_pc和wkly_dl_pc列中有一个每周运行平均值。我想将第一周出现的值置零。由于存在多个时间序列,因此我无法使用排序依据并计算行号。相反,我检查日期本身。以下是我查询的相关部分: SELECT QOSdate, ID, CASE WHEN QOSdate > 6 + MIN(QOSdate) THEN wkly_ul_pc ELSE NULL END AS

在BigQuery中,我有一个表,在wkly_ul_pc和wkly_dl_pc列中有一个每周运行平均值。我想将第一周出现的值置零。由于存在多个时间序列,因此我无法使用
排序依据
并计算行号。相反,我检查日期本身。以下是我查询的相关部分:

SELECT
    QOSdate,
    ID,
    CASE
       WHEN QOSdate > 6 + MIN(QOSdate)
          THEN wkly_ul_pc
       ELSE NULL
    END AS wkly_ul_pc,
    CASE
       WHEN QOSdate > 6 + MIN(QOSdate)
          THEN wkly_dl_pc
       ELSE NULL
    END AS wkly_dl_pc
FROM 
    running_avg
但我得到了这个错误:

选择列表表达式引用既不分组也不聚合的列QOSdate


我看到过对这个错误的响应,其中数据是使用
groupby
进行分组的,而试图使用的变量不在分组中。但我不确定这里有什么问题。当我省略QOSdate和ID时,也会出现相同的错误,只是问题出在
when
子句中的引用。

尝试
MIN(QOSdate)OVER()
而不是
MIN(QOSdate)
-注意:基于标记和问题本身-我假设您使用BigQuery。但这与问题的标题冲突@Mikhailberlyan你是对的,标题是一个错误-修正
OVER()
似乎可以解决问题-谢谢!