「Oracle」row_number()を指定してトップ行の検索結果を抽出するサンプル
書式
SELECT
カラムA、ROW_NUMBER() OVER (ORDER BY カラムB DESC) AS NUM
FROM
テーブル名 WHERE NUM <= XXX
使用例
SELECT
*
FROM
(
SELECT
AGE,USERNAME
, ROW_NUMBER() OVER (ORDER BY AGE DESC) AS NUM
FROM
TEST_TABLE1
)
WHERE
NUM <= 3
SELECT
*
FROM
(
SELECT
AGE,USERNAME
, ROW_NUMBER() OVER (ORDER BY AGE DESC) AS NUM
FROM
TEST_TABLE1
)
WHERE
NUM <= 3
SELECT * FROM ( SELECT AGE,USERNAME , ROW_NUMBER() OVER (ORDER BY AGE DESC) AS NUM FROM TEST_TABLE1 ) WHERE NUM <= 3
結果
AGE USERNAME NUM
32 user001 1
28 user002 2
25 user003 3