色彩検定1級を取得する魅力を紹介♪

こんにちわ。
いまORACLE9iを使用している者です。

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

gooドクター

A 回答 (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;
とすれば良いです。
    • good
    • 20
この回答へのお礼

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

お礼日時:2006/12/27 10:53

rownum というものを使えばできませんか?



select *
  from employees
 where
   job_id = 'JOB001'
 and rownum <=10

先頭から10件検索するSQL
    • good
    • 4
この回答へのお礼

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

お礼日時:2006/12/27 10:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング