エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント5件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
BigQuery で ROW_NUMBER(), RANK() を使うな!
どういうことか たとえば created_at が最も新しいレコード 1 件だけ取ってきたいとか、成績のよいレコ... どういうことか たとえば created_at が最も新しいレコード 1 件だけ取ってきたいとか、成績のよいレコード上位 5 件を取ってきたいといったとき、よくある方法として RANK() や ROW_NUMBER() のような番号付け関数を使う方法が思い浮かぶと思いますが、BigQuery ではこれらの関数ではなく ARRAY_AGG() 集計分析関数を使うことが推奨されています。 先に結論を ARRAY_AGG() を使うことでクエリの計算を最適化でき、スロット使用量(計算量)が少なく済みます。スロット使用量の上限を定めている場合、非効率なクエリがいくつも実行されるとキューイングされる可能性があるため理由がなければ ARRAY_AGG() を使いましょう。 ドキュメントによれば ORDER BY 句が各 GROUP BY 句のトップレコードを除くすべてを捨てることができるため効率がいい
2023/08/23 リンク