2012-05-08 12 views
7

Sto cercando di capire che cosa questa query fa esattamente:MySQL Seleziona DISTINCT colonne multiple in base all'unicità di una riga?

SELECT DISTINCT `state`, `state_name` FROM `geo` ORDER BY `state_name` ASC 

Tutto quello che sto cercando di fare è selezionare i 2 colonne (statali e STATE_NAME), voglio solo le righe uniche che non hanno valori duplicati per il campo dello stato. Non mi interessa se ci sono valori duplicati nel campo nome_stato.

La mia query controlla entrambe le colonne per univocità o solo stato?

risposta

18

DISTINTO restituirà solo le righe distinte, in modo da:

è la mia domanda controllando entrambe le colonne per l'unicità o semplicemente dichiarare?

Entrambe le colonne

Si potrebbe anche passare a GROUP BY, invece.

SELECT `state`, `state_name` FROM `geo` group by 'state', 'state_name' ORDER BY `state_name` ASC 
+0

Grazie funziona. :) – Addy

1

Controlla le combinazioni univoche di stato e nome_stato. Distinto funziona su tutte le colonne incluse nell'elenco di selezione.

Per solo includere valori di stato unici, basta selezionare lo stato distinto