If i understood your question correctly then answer might be below:: Let me know your comments.
select top m_page_size 1,* from (
select top m_end_row_number 1,* from (
/*select part*/
) as t_first_result
order by 1 asc
)as t_second_result
order by 1 desc
Go through the following link, and try to use FETCH NEXT and give try.