ADP#1(data-analysis)

ADP#1(data-analysis)

売上テーブル sales(order_id, customer_id, amount, ordered_at) から、顧客ごとに最新の注文 1 件を取得したいと考えています。BigQuery で最も簡潔に書けるクエリはどれですか。

ディスカッション 0

正解:D

正解の根拠

QUALIFY 句はウィンドウ関数の結果に対して直接フィルタを適用できる BigQuery の構文で、サブクエリを使わずに「グループごとの最新 1 件」を取得できます。

役割
PARTITION BY customer_id顧客単位で番号付け
ORDER BY ordered_at DESC新しい順
QUALIFY = 1各グループの先頭のみ抽出

不正解の理由

  • B: GROUP BY だけでは行全体を取得できません。
  • C: 全体で 1 件しか返りません。
  • A: スカラー サブクエリが複数行を返しエラーになります。

参考:QUALIFY 句


コメント

コメント

コメントする

目次