Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie komprimiere ich dieses Oracle-Resultset gemäß der Zeilenpriorität in Werte und ignoriere Nullen?

Sie müssen rownum =1 AUSSERHALB der analytischen Abfrage setzen

SELECT  *
FROM    (   select          last_value(col1 ignore nulls) over () col1,
                            last_value(col2 ignore nulls) over () col2,
                            last_value(col3 ignore nulls) over () col3
            from (select * from THE_TABLE ORDER BY ROW_PRIORITY)
        )
WHERE   ROWNUM = 1

was (unter Verwendung Ihrer obigen Werte) zu folgendem Ergebnis führt:

COL1   COL2    COL3
------ ------- ----
0.2    100     3