Zajmuję się tworzeniem aplikacji internetowej i potrzebuję wyników uporządkowanych na stronie. Zwykle używam LIMIT/OFFSET do tego celu.Alternatywy dla LIMITU i PRZESUNIĘCIE dla stronicowania w Oracle
Jaki jest najlepszy sposób umieszczania uporządkowanych wyników w Oracle? Widziałem niektóre próbki przy użyciu rownum i podkwerend. Czy to sposób? Czy możesz dać mi próbkę do tłumaczenia tej SQL Oracle:
SELECT fieldA,fieldB
FROM table
ORDER BY fieldA
OFFSET 5 LIMIT 14
(używam Oracle 10g, na co warto)
Dzięki!
Odpowiedź: Korzystanie z linku podanego poniżej karim79, to SQL wyglądałby następująco:
SELECT * FROM (
SELECT rownum rnum, a.*
FROM(
SELECT fieldA,fieldB
FROM table
ORDER BY fieldA
) a
WHERE rownum <=5+14
)
WHERE rnum >=5
myślę, że ostatni wiersz powinien raczej powiedzieć 'GDZIE rnum> 5' (nie'> = '), inaczej dostaniesz 15 rekordów, omijając tylko pierwsze cztery. – peterp