2011-12-06 16 views
5

Estoy buscando una manera de ejecutar una declaración simple SELECT. Tengo una tabla que tiene dos columnas: id y email.Mysql solo no selecciona valores duplicados

Quiero ejecutar una declaración SELECT que no devolverá valores duplicados. Por ejemplo, tome los siguientes datos:

1 [email protected] 
2 [email protected] 
3 [email protected] 
4 [email protected] 

quiero que vuelva solamente el siguiente:

1 [email protected] 
2 [email protected] 

... y saltar los valores duplicados.

Respuesta

8
SELECT MIN(id), email FROM some_table GROUP BY email 
0

Hay varias maneras de lograr esto, una es utilizar la cláusula DISTINCT:

SELECT DISTINCT email FROM your_table; 

otra manera es resumir los recuentos de los valores:

SELECT COUNT (*), email from your_table GROUP BY email; 
+2

En primer lugar, la solución se volverá cada fila, al igual que su segunda solución. –

+0

Sí, supongo que dijo que solo quiere el valor del correo electrónico ... editó mi respuesta para reflejar solo la columna de correo electrónico. – Alan

4

Si usa don't need ID use

SELECT DISTINCT email FROM `TABLE_NAME` 

otra cosa si usted necesita el uso First ID

SELECT MIN(ID),email FROM `TABLE_NAME` GROUP BY email 
9
SELECT DISTINCT email FROM table 
0
SELECT DISTINCT UNIQUE_FEILD_NAME FROM YOUR_TABLE_NAME 
Cuestiones relacionadas