- ベストアンサー
SELECTで1件のみ取得するには?
こんにちわ。 いまORACLE9iを使用している者です。 ACCESSでは SELECT TOP 1 項目名 FROM テーブル名 ORDER BY 項目名; で並べ替えたデータ群のうち,先頭の1件だけを 取ることができますが, ORACLEでそのような機能(SQL)はあるでしょうか? 教えてください。 よろしくお願いします。
- みんなの回答 (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; とすれば良いです。
その他の回答 (1)
- akirinchan
- ベストアンサー率29% (9/31)
回答No.1
rownum というものを使えばできませんか? select * from employees where job_id = 'JOB001' and rownum <=10 先頭から10件検索するSQL
質問者
お礼
akirinchanさん 回答ありがとうございます。 参考にさせて頂きます。
お礼
FudaKejiさん 回答ありがとうございます。 参考にさせて頂きます。