2012-05-08 27 views
7

Estoy tratando de entender lo que hace exactamente esta consulta:MySQL Seleccione DISTINCT varias columnas en función de la singularidad de una fila?

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

Todo lo que estoy tratando de hacer es seleccionar los 2 columnas (estatales y STATE_NAME), quiero sólo las filas únicas que no tienen valores duplicados para el campo de estado. No me importa si hay valores duplicados en el campo state_name.

¿Mi consulta está comprobando ambas columnas para determinar su unicidad o solo estado?

Respuesta

18

DISTINCT devolver sólo filas distintas, por lo que:

está comprobando mi consulta ambas columnas de singularidad o simplemente indicar?

Ambas columnas

También puede cambiar el GRUPO POR lugar.

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

Gracias, funciona. :) – Addy

1

Está comprobando combinaciones únicas de estado y nombre de estado. Distinct opera en todas las columnas incluidas en su lista de selección.

para incluir sólo los valores de estado únicas, sólo tiene que seleccionar estado distinto

Cuestiones relacionadas