Tablodaki İlk Kaydı Getirmek (Oracle, Sql)

Diyelim ki  Oracle da sql sorgusu ile bir tablodaki ilk kaydı getirmek istediniz ve “rownum=1 olanı çeksem olur ” diye düşündünüz ve şu kodu yazdınız.

Bu kod çalışmayacaktır. Kodun doğrusu ise şöyle olmalıdır.

Kolay gelsin. “Bazen küçük bilgiler, büyük işlerinizde, büyük işe yarar.”

Sevebilirsin...

3 Yanıt

  1. tuba dedi ki:

    SELECT TOP 1 alan1, alan2… alanN
    FROM tablo
    WHERE ….
    ORDER BY alan_veya_fonksiyon DESC;

    bu şekildede ilk kadı bulmamız mümkün/ Bu gün bundan sağlıklı sonuç alamasamda…Daha önce kullandığım önemseyeceğim sorgu…..

  2. rownum için ” >(büyük) ” ve ” = (eşit)” ifadeleri kullanılamaz çünkü rownum sonuçlar fetch edilirken oluşur. dolayısıyla “büyük” ifadesi ilk satırda yalan olacağı için devamı gelmez.

    verdiğiniz örnekte istenen ilk satır olduğu için
    “where rownum < 2" kullanılabilir. rownum kullanımının subselect gerektirdiği yer diğer veritabanlarındaki gibi LIMIT, FIRST x SKIP, ve TOP kullanımlarına denk gelmesi gerektiği yerlerdir.

    Örnek :

    select name, price from
    2 (
    3 select rownum r, name, price
    4 from items
    5 )
    6 where r Between 3 and 5;

    Yazı için teşekkürler. rownum değinilmesi gereken bir konu fakat bu özellikleri de anlatılmalı. Tekrar teşekkürler.

  3. can alper öztürk dedi ki:

    şu gün itibari ile işime yaradı hocaM

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir