• ベストアンサー

SELECTで1件のみ取得するには?

こんにちわ。 いまORACLE9iを使用している者です。 ACCESSでは SELECT TOP 1 項目名 FROM テーブル名 ORDER BY 項目名; で並べ替えたデータ群のうち,先頭の1件だけを 取ることができますが, ORACLEでそのような機能(SQL)はあるでしょうか? 教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • FudaKeji
  • ベストアンサー率73% (58/79)
回答No.2

order by と rownum を併用する場合は注意が必要です。 [tbl01] cola | colb ------------ 1000 | aaaa 1001 | bbbb というデータがある場合、 select cola from tbl01 where rownum < 1 order by cola desc; とすると、「1001」ではなく、「1000」が返されます。 これは、order by の前に rownum < 1 が適用されてしまうからです。 解決するには、 select aaa from (select cola aaa from tbl01 order by cola desc) where rownum = 1; とすれば良いです。

tatsurou
質問者

お礼

FudaKejiさん 回答ありがとうございます。 参考にさせて頂きます。

その他の回答 (1)

回答No.1

rownum というものを使えばできませんか? select *   from employees  where    job_id = 'JOB001'  and rownum <=10 先頭から10件検索するSQL

tatsurou
質問者

お礼

akirinchanさん 回答ありがとうございます。 参考にさせて頂きます。

関連するQ&A