Vinzenz Mai: Abfrage ohne doppelte Werte ausgeben

Beitrag lesen

Hallo Marian,

Aus einer MySQL-Tabelle möchte ich die ersten 3 Meldungen auslesen. Dabei sollte jedoch jeder Name nur einmal vorkommen.

Meine SQL-Abfrage lautet:
"SELECT Name,Text FROM Tabelle ORDER BY ID LIMIT 0,3"

ID  Name     Text
1   Albert   Bert
2   Bertram  Bertie
3   Bertram  Bert
4   Caesar   Gaius Iulius

SELECT DISTINCT Name, Text FROM Tabelle ORDER BY ID LIMIT 0,3;

nein, diese Abfrage liefert _nicht_ das Gewünschte:
Deine Abfrage liefert mit den Beispieldaten

Name     Text
  -------  ------
  Albert   Bert
  Bertram  Bertie
  Bertram  Bert

da der zweite und dritte Datensatz sich unterscheiden.
Nein, ein GROUP BY Name hilft auch nicht, da das Ergebnis in der Spalte Text dann unvorhersagbar ist, wie sich im MySQL-Handbuch nachlesen lässt.

Freundliche Grüße

Vinzenz