Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

SQL - Como selecionar uma linha com uma coluna com valor máximo (+ group by)


Parece que você deseja selecionar a linha com o maior high_val para cada categoria. Se sim, você pode usar row_number() para classificar cada linha em uma categoria de acordo com seu high_val valor e selecione apenas as linhas com classificação mais alta, ou seja, 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