Oracle
 sql >> Database >  >> RDS >> Oracle

SQL - Come selezionare una riga con una colonna con valore massimo (+ raggruppa per)

Sembra che tu voglia selezionare la riga con il high_val più alto per ogni categoria. In tal caso, puoi utilizzare row_number() per classificare ogni riga all'interno di una categoria in base al suo high_val value e seleziona solo le righe con il punteggio più alto, ad esempio rn = 1 :

select * from (
    select row_number() over (partition by category order by high_val desc, date asc) rn, *
    from mytable
    where something = 'avalue'
) t1 where rn = 1