Både dcw och Dems har tillhandahållit lämpliga alternativa frågor. Jag ville bara slänga in en förklaring till varför din fråga inte beter sig som du förväntade dig.
Om du har en fråga som innehåller en ROWNUM och en ORDER BY, tillämpar Oracle först ROWNUM och sedan ORDER BY. Så frågan
SELECT *
FROM emp
WHERE rownum <= 5
ORDER BY empno
får godtyckliga 5 rader från EMP
bord och sorterar dem - nästan säkert inte vad som var tänkt. Om du vill få de "första N" raderna med ROWNUM, måste du kapsla frågan. Denna fråga
SELECT *
FROM (SELECT *
FROM emp
ORDER BY empno)
WHERE rownum <= 5
sorterar raderna i EMP-tabellen och returnerar de första 5.