Schau dir da mal die OLAP-Funktionen an.
Hier kannst du ggf. mit Min/Max und Partition order by zum gewünschten Ergebnis auf dem Einzelsatz kommen.
Dieses gruppierst du dann wieder über die Schlüssel mit den Min/Max auf das errechnete obige Ergebnis.