【发布时间】:2023-02-23 01:49:36
【问题描述】:
我有一个包含 user_id、day_event 和 day_joined 的数据集。我想 GROUP BY user_id 和 day_event,然后取由最早的 day_joined 确定的每个组中的第一个。但是,我无法使用 FIRST_VALUE 执行此操作,因为它不是聚合函数。如果我使用 ANY_VALUE,此语句有效,但我特别需要第一个值。
这就是我现在所拥有的:
SELECT user_id,
day_event,
FIRST_VALUE(day_joined) OVER(PARTITION BY day_joined ORDER BY day_joined) AS day_joined
FROM event_data
GROUP BY user_id, day_event
ORDER BY user_id, day_event
但是,这会返回以下错误:
SELECT list expression references day_joined which is neither grouped nor aggregated at [15:13]
【问题讨论】:
标签: sql group-by google-bigquery aggregation