Tach!
Mir ist nicht ganz klar, wie ich formuliere, dass ich jeweils den letzten Datensatz benötige.
"Jeweils" wovon? Meines Wissens kannst du zum Beispiel keine Gruppen bilden und von der Gruppe nur bestimmte Datensätze wählen. Also jedenfalls nicht direkt. Aber es gibt Window Functions, die ähnlich wie GROUP BY funktionieren. Im Gegensatz zu GROUP BY bleiben die Datensätze aber erhalten und werden nicht zu einer Zeile je Gruppe zusammengefasst. Aber man kann der Ergebnismenge zu jeder Zeile Aggregatewerte hinzufügen, die über eine Gruppe gebildet werden können. Siehe verlinkte Seite der country_profit im dritten Code-Block.
Du könntest in einem ersten Schritt mit MAX()/MIN() die Extremwerte einer Gruppe ermitteln und hinzufügen. Dan kannst du den Wert vom Datensatz mit dem Extremwert vergleichen und damit die anderen rausfiltern. Leider kommt jedoch HAVING vor der Window-Berechnung, so dass du dafür einen zweiten Schritt brauchst. Also das beschriebene Gebilde in eine Subquery und in der Hauptquery das Filtern einbauen.
Benötige ich hierzu FIELD oder FIND_IN_SET ?
Beide Funktionen arbeiten gemäß ihrer Beschreibung nicht mit Ergebnismengen.
dedlfix.