メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

RANK ウィンドウ関数

RANK ウィンドウ関数は、OVER 句の ORDER BY 式に基づいて、値のグループの値のランクを決定します。オプションの PARTITION BY 句がある場合、ランク付けは行のグループごとにリセットされます。ランク付け条件が同じ値の行は、同じランクを受け取ります。Amazon Redshift は関連付けられた行数を関連付けられたランクに追加し、次のランクを計算します。そのため、ランクは連続番号でない場合があります。たとえば、2 行が 1 位にランク付けされると、次のランクは 3 位になります。

RANK と DENSE_RANK ウィンドウ関数 では異なる点があり、DENSE_RANK では、2 行以上で同点となった場合、ランク付けされた値の順位に差はありません。たとえば、2 行が 1 位にランク付けされると、次のランクは 2 位になります。

同じクエリに PARTITION BY および ORDER BY 句のあるランク付け関数を使用することができます。

構文

Copy
RANK () OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list ] )

引数

( )

この関数は引数を受け取りませんが、空のかっこは必要です。

OVER

RANK 関数のウィンドウ句。

PARTITION BY expr_list

オプション。ウィンドウを定義する 1 つ以上の式。

ORDER BY order_list

オプション。ランク付けの値が基とする列を定義します。PARTITION BY が指定されていない場合、ORDER BY はテーブル全体を使用します。ORDER BY を省略した場合、すべての行について戻り値は 1 です。

ORDER BY で一意のソートが行われない場合、行の順序は不確定になります。詳細については、「ウィンドウ関数用データの一意の並び順」を参照してください。

戻り型

INTEGER

RANK ウィンドウ関数の例」を参照してください。

このページの内容: