我需要执行一个bigquery/standard SQL语句(或一系列语句),进行“group by”操作,并针对每个组返回不重复值列表,而非计数。
例如,对于具有标题H1,H2的表:
H1 H2
--|--
a a
a b
a c
b x
b x
b y
"group by" H1 期望的结果:
a->a,b,c
b->x,y
我需要执行一个bigquery/standard SQL语句(或一系列语句),进行“group by”操作,并针对每个组返回不重复值列表,而非计数。
例如,对于具有标题H1,H2的表:
H1 H2
--|--
a a
a b
a c
b x
b x
b y
"group by" H1 期望的结果:
a->a,b,c
b->x,y
array_agg
,请不要忘记使用DISTINCT。select h1, array_agg(DISTINCT h2)
from t
group by h1;
array_agg()
:select h1, array_agg(h2)
from t
group by h1;
使用 BigQuery 数组。
select
h1,
array_agg(distinct h2) as items
from `dataset.table`
group by h1
select h1, item from (
select
h1,
array_agg(distinct h2) as items
from `dataset.table`
group by h1
), unnest(items) as item