Es hört sich so an, als ob Sie die Zeile mit dem höchsten high_val
auswählen möchten für jede Kategorie. Wenn ja, können Sie row_number()
verwenden um jede Zeile innerhalb einer Kategorie nach ihrem high_val
zu ordnen Wert, und wählen Sie nur die Zeilen mit dem höchsten Rang aus, d. h. 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