資格暗記無料で始める

RANK関数とは?

RANK関数とは、指定した順序での順位を行ごとに返す順位付け関数。同値があると同じ順位を与え、その分だけ次の順位を飛ばす。飛ばさないDENSE_RANK、同値でも一意の連番を振るROW_NUMBERと対で覚える。試験では、上位n件の抽出や区分ごとの順位付けで問われる。

らんくかんすう

データベーススペシャリスト試験の頻出用語/午前II


RANK関数の意味

指定した順序での順位を行ごとに返す順位付け関数。同値があると同じ順位を与え、その分だけ次の順位を飛ばす。飛ばさないDENSE_RANK、同値でも一意の連番を振るROW_NUMBERと対で覚える。試験では、上位n件の抽出や区分ごとの順位付けで問われる。

RANK関数の具体例

RANK() OVER (PARTITION BY 支店 ORDER BY 売上 DESC) と書けば支店ごとに売上順位が付き、外側で順位3以下に絞れば支店別トップ3が取れる。売上が同額の2位が2人いる場合、RANKでは次が4位、DENSE_RANKでは3位、ROW_NUMBERでは同額でも2位と3位に分かれる。

RANK関数は試験でどう引っ掛けられる?

順位付け関数はWHERE句では使えない。GROUP BYや集約より後に評価されるためで、順位で絞るには共通表式導出表で一度包む必要がある。この評価順序の理解が問題の分かれ目になる。

RANK関数と関連する用語

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。