DISTINCT
ne fonctionne pas de cette façon, les valeurs doivent être distinctes dans toutes les colonnes renvoyées.
Vous pouvez toujours utiliser une fonction d'agrégation sur le hash
fonction et GROUP BY name
qui renverra un hash
valeur pour chaque name
:
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
Voir SQL Fiddle avec démo .
Remarque : en utilisant la fonction d'agrégation avec le GROUP BY
s'assurera que vous retournerez toujours la valeur attendue pour le hash
colonne. Lorsque vous ne faites pas de GROUP BY
ou agréger les éléments dans le SELECT
liste, vous pourriez renvoyer des résultats inattendus. (voir Extensions MySQL pour GROUP BY
)
À partir de la documentation MySQL :