DISTINCT
no funciona de esa manera, los valores deben ser distintos en todas las columnas que se devuelven.
Siempre puede usar una función agregada en el hash
función y GROUP BY name
que devolverá un hash
valor para cada name
:
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
Consulte SQL Fiddle con demostración .
Nota: usando la función agregada con GROUP BY
se asegurará de que siempre devolverá el valor esperado para el hash
columna. Cuando no GROUP BY
o agregar los elementos en el SELECT
lista, puede devolver resultados inesperados. (ver Extensiones de MySQL para GROUP BY
)
De los documentos de MySQL: