select distinct(substr(upper( $context_field ), 0, 1)) as context from ($query) select * from ( select paginate.*, rownum rowsub from ($query) paginate where rownum <= $end) where rowsub >= $start select count (*) from ($query)