Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment utiliser rownum

Cela fonctionnera :

sélectionnez salaire de ( sélectionnez salaire , rownum as rn de (sélectionnez salaire de e_salary ordre par salaire desc)) où rn =2 ;

Pourquoi ça ne marche pas :

Lors de l'affectation de ROWNUM à une ligne, Oracle commence à 1 et n'incrémente la valeur que lorsqu'une ligne est sélectionnée ; c'est-à-dire lorsque toutes les conditions de la clause WHERE sont remplies. Étant donné que notre condition exige que ROWNUM soit supérieur à 2, aucune ligne n'est sélectionnée et ROWNUM n'est jamais incrémenté au-delà de 1.

J'espère que vous êtes clair maintenant.