in the case of where rownum = 1, the first row passes the test, is output and rownum goes to 2. No other row ever satisfies the predicate and rownum stays at 2 for the rest of the query. in the case of where rownum = 2, the first row is rownum 1, it fails. The next row is ALSO rownum = 1 and likewise fails. And so on. There can be NO row 2 if there is not a row 1.