DISTINCT no funciona de esa manera, los valores deben ser distintos en todas las columnas que se devuelven.
Siempre puede usar una función agregada en el hash función y GROUP BY name que devolverá un hash valor para cada name :
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
Consulte SQL Fiddle con demostración .
Nota: usando la función agregada con GROUP BY se asegurará de que siempre devolverá el valor esperado para el hash columna. Cuando no GROUP BY o agregar los elementos en el SELECT lista, puede devolver resultados inesperados. (ver Extensiones de MySQL para GROUP BY
)
De los documentos de MySQL: