Using rownum effectively is a bit of a pain. Here's a cooked-up example that gets the idea across, even though it may not be exactly right in detail:
select * from
(select *, rownum as seqnum
from foo)
where seqnum > 5 and seqnum < 10;
The subselect is necessary because rownum refers to the rows being returned, and something like "rownum > 5" is problematic as the rowset's not built until after query processing involving the where clause.