logo

SQL Server の RANK() 関数

SQL RANK() 関数 で使用されるウィンドウ関数です。 SQLサーバー の各行のランクを計算します。 結果セット

SQL ServerのRANK関数

SQL サーバーの RANK 関数は、その値に基づいて各行にランクを割り当てるために使用されます。



同じ値を持つ行には同じランクが割り当てられます。ランクは連続していない可能性があります RANK()関数 繰り返される行の数を繰り返しランクに加算して、次の行のランクを計算します。

構文

SQL Server で RANK 関数を使用する構文は次のとおりです。

日付を文字列に変換する

ランク()以上(
[PARTITION BY 式、 ]
ORDER BY 式 (ASC | DESC) );



注記:

SQL Server で使用される他のランク関数は次のとおりです。

SQL RANK 関数の例

SQL サーバーの RANK 関数の例をいくつか見て、その動作を理解しましょう。



RANK ステートメントを実行するデモ テーブルを作成しましょう。次のクエリを記述してテーブル geek_demo を作成します。

  CREATE TABLE   geek_demo (Name VARCHAR(10) );   INSERT INTO   geek_demo (Name)   VALUES   ('A'), ('B'), ('B'), ('C'), ('C'), ('D'), ('E');   SELECT   *   FROM   sales.geek_demo;>

出力

名前
B
B
C
C
D
そして

この例では、RANK() を使用して geek_demo テーブルの結果セット内の行にランクを割り当てます。

Cの標準入力

クエリ:

  SELECT   Name,    RANK () OVER   (   ORDER BY   Name )   AS   Rank_no    FROM   geek_demo;>

出力 –

名前 ランク番号
1
B 2
B 2
C 4
C 4
D 6
そして 7

SQL RANK 関数に関する重要なポイント

  • SQL RANK 関数は、SQL Server で各行のランクを計算するために使用されるウィンドウ関数です。
  • パーティション内の各行に一意のランクを割り当てます。同点の場合はランク値にギャップがあります。
  • RANK 関数を使用すると、指定した列または列のセットに基づいて行をランク付けし、結果セット内で明確な優先順位を提供できます。
  • SQL RANK 関数を使用すると、 ORDER BY 句 結果セットは、RANK 関数が適用される各パーティションのソートされた行とともに返されます。
  • 同じ値を持つ行には同じランクが割り当てられます。