我的第一个答案是该问题的原始版本。 当我回答时,我意识到您已将其更改为另一种:o)
因此,以下答案是您问题的最新版本:
我认为在“替代”版本中,您根本不需要GROUP BY,因为您可以逐行对原始(未展平)的数据进行操作,并且对于每一行(visitId)都可以计算firstHitHour
SELECT
visitId,
(SELECT MIN(hour) FROM UNNEST(hits)) as firstHitHour
FROM
`my-table.ga_sessions_20161122`
在初始查询中,您需要对每一行的所有记录进行展平,这就是为什么需要将它们重新分组的原因