Parece que desea seleccionar la fila con el high_val
más alto para cada categoría. Si es así, puede usar row_number()
para clasificar cada fila dentro de una categoría según su high_val
valor, y solo seleccione las filas mejor clasificadas, es decir, 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