Supongamos que queremos tomar el primer 1 registro de un conjunto de resultados. ¿Hay una forma más elegante de hacerlo?Oracle: una forma elegante de tomar el primer n registro (consulta top-k)
WITH temp
AS ( SELECT WKFC_CRONOLOGIA_ID
FROM SIUWKF.WKF_CRONOLOGIA c
WHERE Ogg_oggetto_id = vOGG_ID
AND TOG_TIPO_OGGETTO_ID = vTOG
AND C.WKFC_DATA_FIN = TO_DATE ('31/12/9999', 'DD/MM/YYYY')
AND Wkfc_Tipo = 'STATO'
ORDER BY WKFC_DATA_INI DESC)
SELECT WKFC_CRONOLOGIA_ID
INTO vCRONOLOGIA_ID
FROM temp
WHERE ROWNUM = 1;
No creo que hay alguna otra manera elegante de hacerlo. Puede haber otras formas de hacerlo, pero de todos modos no necesariamente serán elegantes. – Annjawn
¿Cuál es otra forma de formular la consulta top-k? – Revious
¿Qué estás tratando de evitar con lo que tienes? o qué ...... sobre la consulta actual es "no elegante"? http://stackoverflow.com/questions/3451534/how-to-do-top-1-in-oracle –