Cześć,
utknęłam na takim zapytaniu... liczę na Waszą pomoc...

Mam tabelę z kolumnami: alert_id, weight, score, scenario_name.

Dla każdego alert_id może występowac wiele scenario_name z różnymi weight i score.
Dla każdego alert_id chcę znaleźć scenario_name, dla którego wartośc score jest najwyższa,
a w przypadku gdy jest kilka scenario_name o tym samym najwyższym score wtedy
wskazać ten scenario_name dla którego weight jest najwyższa (bierzemy do porównania tylko scenario_name z najwyższym score).

Czyli w wyniku wskazujemy alert a dla niego scenario_name o najwyższym score i weight (w przypadku kilku scenario_name o tym samym najwyższym score).

W przypadku, gdy kilka scenario_name dla tego samego alert_id ma ten sam score i weight wtedy wskazuję oba (listagg?).

Przykład 1:
alert_id, weight, score, scenario_name
1;12;45;scenario1
1;2;45;scenario2
1;3;3;scenario3;
1;4;7;scenario4

zapytanie powinno zwrócić
1;scenario1

Przykład 2:
alert_id, weight, score, scenario_name
1;12;45;scenario1
1;12;45;scenario2
1;3;3;scenario3;
1;4;7;scenario4

zapytanie powinno zwrócić
1;scenario1,scenario2

Bardzo, bardzo dziękuję za pomoc