high_valが最も高い行を選択したいようです。 カテゴリごとに。その場合は、row_number()を使用できます high_valに従ってカテゴリ内の各行をランク付けします 値を入力し、最もランクの高い行のみを選択します。つまり、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