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: