DISTINCT niet op die manier werkt, moeten de waarden verschillend zijn in alle kolommen die worden geretourneerd.
U kunt altijd een aggregatiefunctie gebruiken op de hash functie en GROUP BY name die één hash teruggeeft waarde voor elke name :
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
Zie SQL Fiddle met demo .
Opmerking: de aggregatiefunctie gebruiken met de GROUP BY zorgt ervoor dat u altijd de verwachte waarde voor de hash . teruggeeft kolom. Wanneer u niet GROUP BY of verzamel de items in de SELECT lijst, kunt u onverwachte resultaten opleveren. (zie MySQL-extensies voor GROUP BY
)
Uit de MySQL-documenten: