Google bigquery 运行STRING_AGG函数时查找错误
我想问一下BigQuery中的脚本。因此,我尝试使用下面的查询Google bigquery 运行STRING_AGG函数时查找错误,google-bigquery,string-aggregation,Google Bigquery,String Aggregation,我想问一下BigQuery中的脚本。因此,我尝试使用下面的查询 SELECT id, STRING_AGG(DISTINCT status, ', ' ORDER BY timestamp) AS grouping FROM table GROUP BY id 但我无法运行它,因为它给了我一个错误 同时具有DISTINCT和ORDER BY参数的聚合函数只能使用作为函数参数的ORDER BY表达式 有人能帮我纠正这个错误吗?提前谢谢你 是否要按时间戳排序不同的状态? 如果是这样,您可以先按时间
SELECT id, STRING_AGG(DISTINCT status, ', ' ORDER BY timestamp) AS grouping
FROM table
GROUP BY id
但我无法运行它,因为它给了我一个错误
同时具有DISTINCT和ORDER BY参数的聚合函数只能使用作为函数参数的ORDER BY表达式
有人能帮我纠正这个错误吗?提前谢谢你 是否要按时间戳排序不同的状态? 如果是这样,您可以先按时间戳对每个
id
列status
进行排序,然后进行聚合
WITH ordered as (
SELECT id, status
FROM table
ORDER BY id, row_number() over (partition by id ORDER BY timestamp)
)
SELECT id, STRING_AGG(DISTINCT status, ', ') AS grouping
FROM ordered
GROUP BY id
当您对
状态
的不同值进行排序时-您希望使用具有该状态的多行的时间戳
?这就是为什么STRING_AGG
中不支持它的原因,因为它不知道如何订购。因此,您需要澄清您的要求/期望,以便我们为您提供帮助