DISTINCT non funziona in questo modo, i valori devono essere distinti in tutte le colonne restituite.
Puoi sempre utilizzare una funzione di aggregazione sull'hash funzione e GROUP BY name che restituirà un hash valore per ogni name :
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
Vedi SQL Fiddle con demo .
Nota: utilizzando la funzione di aggregazione con il GROUP BY si assicurerà di restituire sempre il valore previsto per l'hash colonna. Quando non GROUP BY oppure aggrega gli elementi nel SELECT list, potresti restituire risultati imprevisti. (vedi Estensioni MySQL a GROUP BY
)
Dai documenti MySQL: