2012-08-22 11 views
17

Ich versuche eine Zeile mit einer eindeutigen ID auszuwählen, gebe aber alle Felder zurück.MySQL select * mit eindeutiger ID

SELECT * DISTINCT(ID) FROM table WHERE ... 

Ich brauche schließlich die ID, City, State und Zip. Wie kann ich Zeilen erhalten, die keine doppelten IDs sind und alle Felder in meine mysql_fetch_array zurückgeben?

Ich habe versucht, die folgenden:

SELECT * DISTINCT(ID) FROM table WHERE ... 

SELECT DISTINCT ID * FROM table WHERE ... 

SELECT ID,City,State,Zip DISTINCT ID FROM ... 

SELECT ID,City,State,Zip DISTINCT(ID) FROM ... 

ich andere Fragen hier las und keiner scheint zu helfen. Danke im Voraus!

+0

'DISTINCT' einfach zurückgeben eindeutige IDs aus der Tabelle; Was versuchst du genau zu machen? –

+1

Ich brauche mehr als nur die IDs ... Danke, – NotJay

+1

Also mit der gleichen ID, welcher Datensatz sollte ausgewählt werden? – xdazz

Antwort

27

Try GROUP BY mit:

select id, city, state, zip 
    from mytable 
group by id 

Beachten Sie, dass dies für jede id eine beliebige Adresse zurück, wenn es Duplikate sind.

Demo: http://www.sqlfiddle.com/#!2/c0eba/1

+0

würde ich die Gruppe vor oder nach der WHERE hinzufügen? – NotJay

+5

@NotJay - Gruppe von geht nach dem wo –

+0

Perfekt .... Vielen Dank. Erste Verwendung von Group By! – NotJay