忘れかけのIT備忘録

今まで学んできた知識や小技、なるほど!と思ったことをメモするブログです。

Oracle SQLのgroup byとpartition by

どちらもグルーピング(集約)という点では動作は同じ

group by
  分割後に集約して一行に纏める

partition by
  分割後に集約して一行に纏めず、更にグループ単位で処理する

  ・使用例
    同じチームで更に順位を付ける  RANK()、DENSE_RANK()など
    同じチームで更に連番を付ける  ROW_NUMBER()
    同じチームでパーセントランクを取得など(同じチーム=グループ単位)