Hallo!
Mit GROUP BY bekomme ich es hin, alle angezeigt zu bekommen, die gleich sind, aber nicht die restlichen Datensätze:
Ja, IMHO funktioniert das so nicht, weder mit distinct, noch mit group by. Es ginge mit einem subselect, aber das geht nicht mit den aktuell verwendeten MySQL-Versionen.
Meiner Ansicht nach ist das Problem aber nicht die Funktionalität von (My)SQL, sonden das Datenbank-Design. In einer relationalen Datenbank sollte man solche Probleme eigentlich nicht haben - daher gibt es auch keine entsprechenden Möglichkeiten. Warum gibt es Leute mit gleichem Namen und unterschiedlicher ID in der Datenbank? Und wieso willst Du gleiche Namen mehrfach ausgeben? Vielleicht sollte man eher da ansetzen.
Und sonst braucht man in MySQL wohl 2 Abfragen, mit der ersten würde ich mir mit so einer GROUP BY Abfrage eine temporäre Tabelle erstellen(CREATE TEMPORARY TABLE... SELECT... GROUP BY... : http://www.mysql.com/doc/de/CREATE_TABLE.html), mit der 2. würde ich diese temp. Tabelle mit der eigentlichen Tabelle über Namen und Vornamen verknüpfen(JOIN) und dann alle IDs auslesen. Die temporäre Tabelle wird nach Ende des Scriptes verworfen. Wenn die Daten nicht besonders viele sind würde ich eine temp. HEAP-Tabelle verwenden da die nur im Speicher erstellt wird.
Grüße
Andreas