В Oracle стойностите на Rownum се присвояват след етапа на филтриране на заявката – те не са редове от таблицата, а редове от набора от резултати от заявката.
Така че на първия ред, който се връща, винаги ще бъде даден rownum 1, вторият ред, който се връща, rownum 2 и т.н.
Стойността на rownum се увеличава само след като е присвоена, така че всяка заявка като
select * from t where ROWNUM > 1
щеникога върнете всички резултати. Тази заявка казва „Не искам да виждам първия ред, който ми се връща, а само тези след това“, което е нещо като парадокс, така че нищо не се връща.
Вижте Попитайте Том:На ROWNUM и ограничаване на резултатите за повече подробности.