shinya
22-09-2006, 17:20
Siccome l'analista se ne è andato e ho un pò di tempo al lavoro e siccome è capitato spesso che qualcuno saltasse fuori chiedendo come limitare superiormente il risultato di una query (ad esempio, "voglio le righe ordinate secondo il mio criterio dalla 5 alla 10), posto questo utilissimo tips del mitico Tom Kyte, apparso sull'ultimo numero di Oracle Magazine.
Questo esempio funziona in Oracle, ma dovrebbe andare anche con altri DB che hanno una pseudo-colonna simile alla ROWNUM.
select *
from ( select /*+ FIRST_ROWS(n) */
a.*, ROWNUM rnum
from ( your_query_goes_here,
with order by ) a
where ROWNUM <= :MAX_ROW_TO_FETCH )
where rnum >= :MIN_ROW_TO_FETCH;
Per l'articolo completo potete vedere qui: http://www.oracle.com/technology/oramag/oracle/06-sep/o56asktom.html
bye!
Questo esempio funziona in Oracle, ma dovrebbe andare anche con altri DB che hanno una pseudo-colonna simile alla ROWNUM.
select *
from ( select /*+ FIRST_ROWS(n) */
a.*, ROWNUM rnum
from ( your_query_goes_here,
with order by ) a
where ROWNUM <= :MAX_ROW_TO_FETCH )
where rnum >= :MIN_ROW_TO_FETCH;
Per l'articolo completo potete vedere qui: http://www.oracle.com/technology/oramag/oracle/06-sep/o56asktom.html
bye!