sql >> Base de Datos >  >> RDS >> Oracle

seleccione la segunda fila en Plsql

CREATE TABLE mytable (id NUMBER PRIMARY KEY, price NUMBER NOT NULL);
INSERT INTO mytable VALUES (1, 10);
INSERT INTO mytable VALUES (2, 20);
INSERT INTO mytable VALUES (3, 20);
INSERT INTO mytable VALUES (4, 30);

SELECT id, price 
 FROM (
       SELECT id, price, RANK() OVER (ORDER BY price DESC) AS r
         FROM mytable
      )
 WHERE r=2;

 ID PRICE
--- -----
  2    20
  3    20