DISTINCT
fungerar inte på det sättet måste värdena vara distinkta för alla kolumner som returneras.
Du kan alltid använda en aggregatfunktion på hash
funktion och GROUP BY name
som returnerar en hash
värde för varje namn
:
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
Se SQL-fiol med demo .
Obs! genom att använda den aggregerade funktionen med GROUP BY
kommer att se till att du alltid returnerar det förväntade värdet för hash
kolumn. När du inte GRUPPERAR EFTER
eller aggregera objekten i SELECT
listan kan du returnera oväntade resultat. (se MySQL-tillägg till GROUP BY
)
Från MySQL Docs: