Das wird funktionieren:
Gehalt auswählen von ( Gehalt auswählen , Zeilennummer als rn aus (Gehalt auswählen aus e_gehalt reihenfolge nach Gehalt desc)) wobei rn =2;
Warum es nicht funktioniert:
Bei der Zuweisung von ROWNUM zu einer Zeile beginnt Oracle bei 1 und erhöht den Wert nur, wenn eine Zeile ausgewählt ist; das heißt, wenn alle Bedingungen in der WHERE-Klausel erfüllt sind. Da unsere Bedingung erfordert, dass ROWNUM größer als 2 ist, werden keine Zeilen ausgewählt und ROWNUM wird nie über 1 hinaus erhöht.
Hoffe, du bist jetzt klar.