SQL RANK() 関数 で使用されるウィンドウ関数です。 SQLサーバー の各行のランクを計算します。 結果セット 。
SQL ServerのRANK関数
SQL サーバーの RANK 関数は、その値に基づいて各行にランクを割り当てるために使用されます。
同じ値を持つ行には同じランクが割り当てられます。ランクは連続していない可能性があります RANK()関数 繰り返される行の数を繰り返しランクに加算して、次の行のランクを計算します。
構文
SQL Server で RANK 関数を使用する構文は次のとおりです。
日付を文字列に変換する
ランク()以上(
[PARTITION BY 式、 ]
ORDER BY 式 (ASC | DESC) );
注記:
SQL Server で使用される他のランク関数は次のとおりです。
- ROW_NUMBER()
- DENSE_RANK()
- タイル()
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 関数が適用される各パーティションのソートされた行とともに返されます。
- 同じ値を持つ行には同じランクが割り当てられます。