创建一个生成和的查询并将其输出到一行

时间:2017-06-23 06:43:35

标签: google-bigquery

这是我一直在运行的代码:

SELECT
   Model,
   Serial,
   SUM(ConnectionTime) OVER(ORDER BY Serial)
FROM [dataworks-356fa:FirebaseArchive.test8]
WHERE Model == "BlueBox-pH"

然而,当我这样做时,它为模型的每次重复提供多个行的总和。即使我拿出Model并将WHERE子句更改为序列号,它仍会多次生成相同的内容。

我应该添加什么代码以确保每个序列号都是唯一的?

1 个答案:

答案 0 :(得分:3)

您正在使用窗口函数来估算您的值。这会导致行重复。有没有具体的理由像这样做SUM?

通常SUM会像这样:

SELECT
    Model,
    Serial,
    SUM(ConnectionTime)
FROM
    [dataworks-356fa:FirebaseArchive.test8]
WHERE
    Model == "BlueBox-pH"
GROUP BY
    Model,
    Serial 

这将为Model和Serial的每个唯一组合输出一行,其中包含ConnectionTime的SUM。