Supongamos que puedo extraer un conjunto de datos.Oracle: Tomando el registro con la fecha máxima
decir
SELECT A, date
FROM table
Y quiero sólo el registro con la fecha max (para cada valor de A). Podría escribir
SELECT A, col_date
FROM TABLENAME t_ext
WHERE col_date = (SELECT MAX (col_date)
FROM TABLENAME t_in
WHERE t_in.A = t_ext.A)
Pero mi consulta es muy largo ... ¿Hay una manera más compacta utilizando la función analítica a hacer lo mismo?
¿Qué quiere decir con lazos? – Revious
@ Gik25 - Un lazo se produciría si la hubiera, digamos, dos filas de 'TABLENAME' que tenían el mismo valor para' A' y el mismo valor para 'SOME_DATE_COLUMN'. Su consulta original devolvería ambas filas como las mías. Si, por el contrario, ha utilizado la función 'ROW_NUMBER', sólo una de las dos filas serían devueltos (aunque la elección de qué fila para volver sería arbitrario). –