Associate Data Practitioner 問題の一覧 › 2. データ分析とプレゼンテーション
1行に複数の購入商品を ARRAY<STRUCT<name STRING, qty INT64>> として持つ列 items がある。商品ごとの行に展開して集計したい。正しいのはどれか。
- SELECT i.name, i.qty FROM orders, UNNEST(items) AS i
- SELECT items.name FROM orders GROUP BY items
- SELECT ARRAY_AGG(items) FROM orders
- SELECT i.name FROM orders JOIN items AS i ON TRUE
💡 答えと解説を見る
答え:A(SELECT i.name, i.qty FROM orders, UNNEST(items) AS i)
UNNEST で配列を行に展開し、STRUCT のフィールドはドット表記で参照できる(暗黙の相互結合)。Bは配列でグループ化できず、ARRAY_AGG は逆に配列にまとめる関数、Dは存在しないテーブルを JOIN している。
UNNEST で配列を行に展開し、STRUCT のフィールドはドット表記で参照できる(暗黙の相互結合)。Bは配列でグループ化できず、ARRAY_AGG は逆に配列にまとめる関数、Dは存在しないテーブルを JOIN している。
関連サービス
| UNNEST | ARRAY を行に展開 |
※ 学習用に作成したオリジナル問題です。本番試験とは異なります。