如何在bigquery中组合多行?

7dl7o3gd  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(296)

我有一张table data 有5列,即。 id , genre , actor , actress , price . 在表中,有一个 id . 因为其中一些是空的,所以我希望最终得到每个id一行。
示例(仅2个副本)

id   genre   actor   actress     price
5     a      NULL       b1        NULL
5     a       a1       NULL        $5

实现

id   genre   actor   actress     price
5     a       a1       b1         $5
brccelvz

brccelvz1#

可以使用聚合。例如:

select id, genre, max(actor), max(actress), max(price)
from t
group by id, genre;

这将为每列选择一个值。如果可以有多个值,则可以将它们放入一个数组中:

select id, genre, array_agg(actor ignore nulls),
       array_agg(actress ignore nulls), array_agg(price ignore nulls)
from t
group by id, genre;

相关问题