トップページに戻る
次のSQLパズルへ
前のSQLパズルへ
2-3-7 任意の値に対する順位付け
SQLパズル
Pointが50点の場合に、
TestResultテーブルのPoint列で何位か調べる。
データ作成スクリプト
create table TestResult(Point number(3));
insert into TestResult values(100);
insert into TestResult values( 90);
insert into TestResult values( 70);
insert into TestResult values( 30);
insert into TestResult values( 5);
commit;
SQL
--■■■count関数を使う方法■■■
select count(*)+1 as "50点の人の順位" from TestResult
where Point > 50;
--■■■Rank関数を使う方法■■■
select Rank(50) within group (order by Point desc) as "50点の人の順位"
from TestResult;
解説
Rank関数を使って、任意の値に対する順位付けを行うことができます。