スコアランキングオプションの違い

こんにちは。

スコアランキング戦略におけるdense_rank / rank / row_number オプションの違いについて、どなたかご存知の方はいらっしゃいますか?

「いいね!」 1

row_number () → bigint
現在の行をパーティション内で1から数えた番号を返します。

rank () → bigint
現在の行のランクを返します。ギャップがあります。つまり、ピアグループの最初の行の row_number です。

dense_rank () → bigint
現在の行のランクを返します。ギャップはありません。この関数は、ピアグループを効果的にカウントします。

基本的に、タイ(同順位)の処理方法が変わります。

  • row_number では、タイはありません。
  • rank では、5位で2つのタイがあった場合、6位がスキップされるため、次は7位になります。
  • dense_rank では、5位で2つのタイがあった場合、次は6位になります。
「いいね!」 4

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.