Oracle sorgu sonuçlarında x ve y arasındaki satırları listelemek istiyorsanız ( Başka bir deyişle sonuç kümesi üzerinde sayfalama yapmak istiyorsanız ) birazcık (bana göre oracle’nın bunu mysql veya sql server’a göre neden kolay yapmadığını hala anlamadım) karışık sorgu yazmanız gerekiyor. Sql Server’da kullanırken Top keyword kullanarak, MySql’de ise Limit keyword’u kullanarak bunu basitçe yapıyoruz. Oracle’da ise where kriterinde rownum kullanırsanız sadece aşağı veya yukarı doğru tek kriter işler yani belli aralıktakileri listeleyemezsiniz where rownum<15 gibi birşeyde ilk 15 gelir 5 ile 12. arasında demek isterseniz aşağıdaki sorgu işinizi görecektir. (Özetle SubQuery kullanın
)
SELECT * FROM (SELECT s1, s2, s3,
ROW_NUMBER() OVER (ORDER BY <siralamakullanilacaksayazin>ASC) AS rn
FROM tablom WHERE <varsa kriter yazin>)
WHERE rn BETWEEN 5 AND 12