DISTINCT
non funziona in questo modo, i valori devono essere distinti in tutte le colonne restituite.
Puoi sempre utilizzare una funzione di aggregazione sull'hash
funzione e GROUP BY name
che restituirà un hash
valore per ogni name
:
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
Vedi SQL Fiddle con demo .
Nota: utilizzando la funzione di aggregazione con il GROUP BY
si assicurerà di restituire sempre il valore previsto per l'hash
colonna. Quando non GROUP BY
oppure aggrega gli elementi nel SELECT
list, potresti restituire risultati imprevisti. (vedi Estensioni MySQL a GROUP BY
)
Dai documenti MySQL: