Oracle
 sql >> Database >  >> RDS >> Oracle

Come usare rownum

Funzionerà:

seleziona stipendio da ( seleziona stipendio , rownum as rn da (seleziona stipendioda e_salary order by stipendio desc)) dove rn =2;

Perché non funziona:

Quando si assegna ROWNUM a una riga, Oracle inizia da 1 e incrementa il valore solo quando viene selezionata una riga; cioè, quando tutte le condizioni nella clausola WHERE sono soddisfatte. Poiché la nostra condizione richiede che ROWNUM sia maggiore di 2, non viene selezionata alcuna riga e ROWNUM non viene mai incrementato oltre 1.

Spero che tu sia chiaro in questo momento.