DISTINCT
nie działa w ten sposób, wartości muszą być różne we wszystkich zwracanych kolumnach.
Zawsze możesz użyć funkcji agregującej w hash
funkcja i GRUPA WEDŁUG nazwy
co zwróci jeden hash
wartość dla każdej nazwy
:
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
Zobacz SQL Fiddle z wersją demonstracyjną .
Uwaga: za pomocą funkcji agregującej z GROUP BY
upewni się, że zawsze zwrócisz oczekiwaną wartość dla hash
kolumna. Kiedy nie GROUP BY
lub agregować elementy w SELECT
listy, możesz zwrócić nieoczekiwane wyniki. (patrz Rozszerzenia MySQL do GROUP BY
)
Z dokumentacji MySQL: