dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

BigQuery でテーブル内の全配列の加算

2023-11-02 23:49:37 | BigQuery
BigQuery でテーブル内の全レコードの配列を加算する方法のメモ。
■テーブル定義
create table dataset.vector_test (
  id      string,
  vector  array<integer>
);

■データ登録
insert into
  dataset.vector_test
  (id, vector)
values
  ('id1', [0, 1, 2, 3, 4]),
  ('id2', [1, 2, 3, 4, 5]),
  ('id3', [2, 3, 4, 5, 6]);

■加算クエリ
select
array(
  select 
    sum(e)
  from
    dataset.vector_test
    , unnest(vector) as e with offset idx
  group by
    idx
) as sum_vector
;

■結果
[{
  "sum_vector": ["3", "6", "9", "12", "15"]
}]