In Oracle worden Rownum-waarden toegewezen na de filterfase van de query - het zijn geen rijen van de tabel, het zijn rijen van de queryresultatenset.
Dus de eerste rij die terugkomt, krijgt altijd rijnummer 1, de tweede rij die terugkomt, rijnummer 2, enz.
De rownum-waarde wordt alleen verhoogd nadat deze is toegewezen, dus elke zoekopdracht zoals
select * from t where ROWNUM > 1
zal nooit eventuele resultaten retourneren. Deze zoekopdracht zegt 'Ik wil de eerste rij die naar mij wordt teruggestuurd niet zien, alleen de rijen daarna', wat nogal een paradox is, dus er wordt niets geretourneerd.
Zie Ask Tom:On ROWNUM en Limiting Results voor meer details.