SQLで順位を取得するRANK()とDENSE_RANK()

公開日: : SQL Server , ,

SQLで順位を取得する

SQLServerで項目の順位付け関数を利用して
順位をします。

テーブルの準備

学生のテスト結果を保持するテーブルを作成します。

データの準備

各クラスのテスト結果を登録します。

学年全部の得点順位を取得

まずは学年全体でのテスト結果順位を取得してみます。

以下が実行結果です。

得点の高い順に並んでいます。
RANK()関数は同じ順位があると「1,2,2,4…」というように
同じ順位は同位となり、次の順位は飛ぶことになります。

クラスごとの得点順位を取得

次にクラスごとテスト結果順位を取得してみます。

クラスごとにする場合は「PARTITION BY」を利用してクラスごとに
振り分けます。

以下が実行結果です。

順位が飛ばないDENSE_RANK()関数

RANK()関数と同じ順位付け関数にDENSE_RANK()がありますが
違いはこちらは同位があっても次の順位は飛びません。

以下が実行結果です。

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 13 follow us in feedly

関連記事

SQL_VARIANT_PROPERTYを使ってカラムの基本データ型を取得する

カラムの基本データ型取得 SQLサーバーで定義されているテーブルのカラムの 基本データを取得しま

記事を読む

SQLで存在しない行を生成し固定行数で処理したい時に役立つ方法

帳票データなどで登録されているデータ数に左右されず、 固定行数でデータを取得したい場合があります。

記事を読む

SQL Server-登録されているストアドプロシジャーの一覧を取得する

データベースに登録されているストアドプロシジャーの 一覧を取得します。

記事を読む

SQLで改行コードを含む項目を取得する

SQLで改行コードを含む項目を検索する Microsoft SQL Server Managemn

記事を読む

SQLServerで省略可能な引数を持ったストアドプロシージャを作る

SQLServerで省略可能な引数を持ったストアドプロシージャーを作ります。 省略可能にするに

記事を読む

データベースに登録されている内容を固定長のファイルに出力する(1)

登録されている内容を固定長で出力 データベースに登録されている内容を固定長のファイルに 出力する

記事を読む

再帰SQLで最大再帰数の指定

再帰SQLを実行すると最大再帰数に達してエラー 先日作成した日付を管理しているテーブルから共通テー

記事を読む

sp_pkeys – SQL Serverでテーブルのプライマリキーを取得する

sp_pkeysを使ってSQL Serverでテーブルのプライマリキーを取得します。

記事を読む

SQLServerでTrue,FalseのようなBoolean型をあつかう

SQLServerでBoolean型を扱う SQLServerには「Boolean」という型は

記事を読む

SQLServerで作ったテンポラリテーブルが見つからず無効になってしまう

SQLServerでテンポラリテーブルを利用して処理を行う時に 「オブジェクト名 '#tmp_ta

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

SQLで当月の第何週目の何曜日か取得する

SQLで今日は第何週、何曜日か取得する SQLServerでは関数で

SQLServer
テーブルのプライマリキー(PK)を取得する(SQL編)

SQLServerでテーブルのプライマリキー(PK)をSQLで取得する

SELECT INTOで既存テーブルのデータを新規テーブルにコピーする

既存テーブルのデータを新規テーブルにコピーします。 簡単だが結構忘れ

SQLServerで省略可能な引数を持ったストアドプロシージャを作る

SQLServerで省略可能な引数を持ったストアドプロシージャーを作り

SQLで文字列を3分割する

SQLで文字列を3分割する どうしてもSQLServerで特定の

→もっと見る



PAGE TOP ↑