2010-06-22 16 views
6

Ich habe viel gesucht und habe nicht wirklich eine Antwort auf meine MySQL-Problem gefunden.Verwenden von SELECT DISTINCT in MYSQL

SELECT DISTINCT name, type, state, country FROM table 

Ergebnisse in 1795 Datensätze

SELECT DISTINCT name FROM table 

Ergebnisse in 1504 Datensätze

Für jeden "name" duplizieren ... "Typ", "Staat", "Land" nicht passend in jedem Datensatz.

Der Versuch, herauszufinden, wie die zugehörige Reihe zum eindeutigen Namen zu wählen, ohne sie zu überprüfen für DISTINCT ist oder nicht

+0

Es hat nichts mit PHP zu tun, also löschte ich das Tag – jigfox

+2

Ich fürchte, ich habe einige Schwierigkeiten zu verstehen, Ihre Fragen. Könnten Sie eine eingeschränkte Version der Daten veröffentlichen und erklären, was Sie wollen? – Chowlett

+0

Etwas ähnliches: http://stackoverflow.com/questions/54418/how-do-i-or-can-select-distinct-on-multiplecolumns-postgresql – jigfox

Antwort

16
SELECT name, type, state, country FROM table GROUP BY name; 

den Trick tun sollten.

+0

was wäre die vollständige Abfrage SELECT DISTINCT nach Gruppe? – ZaneDeFazio

+0

Ich bin mir nicht ganz sicher, wonach du fragst. Wahrscheinlich meine Schuld, habe heute nicht geschlafen :-) – cypher

+2

brauchst du nicht unbedingt, für eine Spalte die gruppiert ist. wie definiert "Gruppe nach Name" faßt alles mit dem gleichen 'Namen' zusammen. so ist jeder 'name' im Ergebnis eindeutig – jigfox

1

Wenn Sie einen eindeutigen Namen wünschen, müssen Sie entscheiden, welche der mehreren Werte für jeden gewünschten eindeutigen Namen auftreten können. Zum Beispiel können Sie Minimalen, oder zählt:

SELECT name, min(type), min(state), count(country) FROM table GROUP BY name

Verwandte Themen