13 Stimmen

MySQL: Keine doppelten Werte auslesen

Frage von Gast | Letztes Update am 04.05.2021 | Erstellt am 13.02.2016

Gibt es eine Möglichkeit in MySQL, mit der man doppelte Werte beziehungsweise Datensätze vom Suchergebnis ausschließen kann?

Konkret geht es zum Beispiel darum, alle Nachnamen oder Städte aus einer Tabelle mit Daten auszulesen. Die Städte und Namen können mehrfach in der betreffenden Spalte vorkommen, ich möchte sie aber nur einmal im Suchergebnis haben.

Wenn ich "SELECT stadt FROM tabelle" oder "SELECT name FROM tabelle" schreibe, bekomme ich aber alles doppelt und dreifach. Was kann ich tun um nur die unterschiedlichen Beiträge zu bekommen?

AntwortenPositivNegativ
1Beste Antwort7 Stimmen

Du könntest zum Beispiel mit dem Keyword DISTINCT arbeiten.

Um alle verschiedenen Städte und Namen auszulesen und keine doppelten Einträge im Suchergebnis zu bekommen, könntest du zum Beispiel folgendes schreiben:

SELECT DISTINCT stadt FROM tabelle;
SELECT DISTINCT name FROM tabelle;

SELECT DISTINCT funktioniert auch über mehrere Spalten hinweg, zum Beispiel wenn du zusätzlich die Postleitzahl auslesen möchtest:

SELECT DISTINCT plz, stadt FROM tabelle;

Ein anderer Ansatz wäre mit GROUP BY zu arbeiten:

SELECT COUNT(id), stadt FROM tabelle GROUP BY stadt;

Mit dieser Abfrage zählen wir, wie oft jede Stadt in der Tabelle vorkommt und zeigen im Ergebnis die Anzahl sowie den Namen der Stadt an.
Letztes Update am 04.05.2021 | Erstellt am 13.02.2016

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

MySQL: Integer Typen

Info | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.