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: