DISTINCT takto nefunguje, hodnoty musí být odlišné ve všech vracených sloupcích.
Na hash můžete vždy použít agregační funkci funkce a GROUP BY name který vrátí jeden hash hodnotu pro každý name :
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
Viz SQL Fiddle s ukázkou .
Poznámka: pomocí agregační funkce s GROUP BY zajistí, že vždy vrátíte očekávanou hodnotu hash sloupec. Když neučiníte GROUP BY nebo agregujte položky v SELECT seznamu, můžete vrátit neočekávané výsledky. (viz Rozšíření MySQL do GROUP BY
)
Z dokumentů MySQL: