2009-04-22 8 views

cevap

13

ORACLE'ın hiç bir TOP işlevi olduğundan emin değilim. Bir TOP-N sorgusu kullanmak istiyorsunuz. Örneğin

: (Ben alt sorguda desc sipariş çünkü)

select * 
    from (SELECT * 
      FROM foo 
      where foo_id=[number] 
     order by foo_id desc) 
where rownum <= 3 

Bu

+1

'Rownum' anahtar kelimesi veritabanındaki fiziksel satır numarasıdır, bu yüzden önce onu sıralamanız ve ardından ölçütleri uygulamanız gerekir. –

4

Oracle TOP anahtar sözcüğü desteklemez. TOP 10 maddesi, en azından Oracle 11.1 (mevcut üretim salınım) ile, kabul edilmez çünkü sorgu

SELECT TOP 10 product_id 
    FROM product 

bir sözdizim hatası oluşturur.

1

TOP SQL server değil Oracle tarafından desteklenmektedir size ilk üç sonuç verecektir. Bir dizi sonuçtan sonra durmamak için köknar satırlarının en iyi planını almak için FIRST_ROWS isabetiyle karıştırmayın.

Diğerlerinin de belirttiği gibi, Oracle çözümü ROWNUM pseudocolumn ile oynamaktır.

İlgili konular