DISTINCT ikke fungerer på den måde, skal værdierne være forskellige på tværs af alle kolonner, der returneres.
Du kan altid bruge en aggregeret funktion på hash funktion og GRUPPER EFTER navn som vil returnere én hash værdi for hvert navn :
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
Se SQL Fiddle with Demo .
Bemærk: ved at bruge aggregatfunktionen med GROUP BY vil sørge for, at du altid returnerer den forventede værdi for hash kolonne. Når du ikke GRUPPER EFTER eller aggregér elementerne i SELECT liste, kan du returnere uventede resultater. (se MySQL-udvidelser til GROUP BY
)
Fra MySQL Docs: