DISTINCT fungerar inte på det sättet måste värdena vara distinkta för alla kolumner som returneras.
Du kan alltid använda en aggregatfunktion på hash funktion och GROUP BY name som returnerar en hash värde för varje namn :
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
Se SQL-fiol med demo .
Obs! genom att använda den aggregerade funktionen med GROUP BY kommer att se till att du alltid returnerar det förväntade värdet för hash kolumn. När du inte GRUPPERAR EFTER eller aggregera objekten i SELECT listan kan du returnera oväntade resultat. (se MySQL-tillägg till GROUP BY
)
Från MySQL Docs: