ORACLE機能 ORACLE関数

[ORACLE関数] グループ単位で順位を飛ばさずに順位を付ける(DENSE_RANK~PARTITION BY)

投稿日:2018年11月17日 更新日:

検索結果をグループ単位で順位を飛ばさずに順位を付けるには、DENSE_RANK~PARTITION BY句を使用します。

順位を飛ばさずとは、同値が存在した場合でも次の順位は連番になるという事です。

サンプル

例)class列単位にscore列の降順で順位を付ける

【m_user】
NAMECLASSSCORE
AさんX60
BさんX70
CさんY80
DさんY70
EさんZ50
FさんX60
GさんX50

検索結果

SQL*Plus
RANKING NAME CLASS SCORE -------- --------- ------- -------- 1 Bさん X 70 2 Aさん X 60 2 Fさん X 60 3 Gさん X 50 1 Cさん Y 80 2 Dさん Y 70 1 Eさん Z 50

CLASS列単位に順位が付きます。Aさん、Fさんは同点なので同じ順位です。続くGさんは2位が2名いますが3番になります。

備考

  • 同率同順の場合は同じ順位にしたり、同率同順の次の順位は飛び番としたりしたい場合は、下記関連ページをご覧ください。

関連ページ


スポンサーリンク

スポンサーリンク

-ORACLE機能, ORACLE関数
-

執筆者:


comment

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

関連記事

ORACLE

[SQL] SELECT結果をくっつける(UNION)

SELECTした結果をくっつけて表示するには、UNIONを使用します。 UNIONは集合演算子のひとつです。 構文 UN ...
ORACLE

[ORACLE関数] 順位を飛ばして順位を付ける(RANK~OVER)

順位を飛ばして順位を付けるには、RANK~OVER関数を使用します。 順位を飛ばしてとは、同順位のデータが存在する場合は ...
ORACLE

[ORACLE] リサイクルビンからテーブルを復活させる

リサイクルビンからテーブルを復活させる方法です。 リサイクルビンとは、Windowsでいう「ゴミ箱」と同様のものです。 ...
ORACLE

[SQL*Plus] DBMS_OUTPUTからの出力を有効/無効にする(set serveroutput)

DBMS_OUTPUTからの出力を有効/無効にするには、「serveroutput」システム変数を使用します。 構文 ( ...
ORACLE

[ORAエラー] ORA-02185: COMMITの後にWORK以外のトークンが指定されています。

以下のように表示されます。 (日本語) ORA-02185: COMMITの後にWORK以外のトークンが指定されています ...

スポンサーリンク