2010-06-22 1 views
6

State facendo molta ricerca e non ho ancora trovato una risposta al mio problema di MYSQL.Utilizzo di SELECT DISTINCT in MYSQL

SELECT DISTINCT name, type, state, country FROM table 

Risultati a 1.795 record

SELECT DISTINCT name FROM table 

Risultati a 1.504 record

Per ogni duplicato "nome" ... "tipo", "stato", "paese" non sono corrispondenti in ogni record.

Cercando di capire come selezionare la riga associata al nome DISTINCT, senza di loro il controllo per essere distinto o no

+0

Non ha nulla a che fare con PHP, così ho eliminato il tag – jigfox

+2

ho paura che sto avendo qualche difficoltà a comprendere le vostre domande. Potresti pubblicare una versione ridotta dei dati e spiegare che cosa vuoi? – Chowlett

+0

Qualcosa di simile: http://stackoverflow.com/questions/54418/how-do-i-or-can-i-select-distinct-on-multiple-columns-postgresql – jigfox

risposta

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

dovrebbe fare il trucco.

+0

quale sarebbe la query completa per SELECT DISTINCT per gruppo? – ZaneDeFazio

+0

Non sono abbastanza sicuro di cosa stai chiedendo. Probabilmente è colpa mia, non ho dormito oggi :-) – cypher

+2

non hai bisogno di distinti, per una colonna che è raggruppata. come definito 'raggruppa per nome' riepiloga tutto con lo stesso' nome'. quindi ogni 'nome' è unico nel risultato – jigfox

1

Se si desidera un nome distinto, è necessario decidere quali valori multipli possono verificarsi per ciascun nome distinto desiderato. Ad esempio, si può decidere minimali, o conteggi:

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