developer - select top oracle 11g
seleccione la 2da fila en Plsql (2)
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
Digamos que tengo la siguiente tabla:
SomeTable(
id,
price
)
¿Cómo selecciono la segunda fila más cara de esta tabla? Nota: Esto tiene que hacerse en Pl / SQL, de una manera independiente de la base de datos. ¿Es posible hacer esto sin ningún bucle?
- Sé cómo se hace esto usando construcciones de Oracle como construcciones
rownumo mysql comolimit, así que no estoy buscando esas.
¿No es esto simple? ¡Dios sabe por qué no pensé en eso antes!
seleccione max (precio) desde tnum donde precio <> (seleccione max (precio) desde tnum)