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