oracle8.1.6 select * from ( select first_names, last_name, email, user_id, rownum as my_rownum from ( select m.* from $table_and_group $where_clause $order_clause ) ) where my_rownum between :start_row and [expr $start_row + $num_rows - 1]