「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

結果
AGE USERNAME NUM
32 user001 1
28 user002 2
25 user003 3

Oracle

Posted by arkgame