DISTINCT
ikke fungerer på den måde, skal værdierne være forskellige på tværs af alle kolonner, der returneres.
Du kan altid bruge en aggregeret funktion på hash
funktion og GRUPPER EFTER navn
som vil returnere én hash
værdi for hvert navn
:
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
Se SQL Fiddle with Demo .
Bemærk: ved at bruge aggregatfunktionen med GROUP BY
vil sørge for, at du altid returnerer den forventede værdi for hash
kolonne. Når du ikke GRUPPER EFTER
eller aggregér elementerne i SELECT
liste, kan du returnere uventede resultater. (se MySQL-udvidelser til GROUP BY
)
Fra MySQL Docs: