DISTINCT
не работи по този начин, стойностите трябва да са различни във всички връщани колони.
Винаги можете да използвате агрегатна функция за хеш
функция и Име на ГРУПА ПО
което ще върне един хеш
стойност за всяко name
:
SELECT name, min(hash) hash
FROM my_table
WHERE name LIKE '%An%'
GROUP BY name;
Вижте SQL Fiddle с демонстрация .
Забележка: използвайки агрегатната функция с GROUP BY
ще се увери, че винаги ще връщате очакваната стойност за хеш
колона. Когато не GROUP BY
или агрегирайте елементите в SELECT
списък, може да върнете неочаквани резултати. (вижте Разширения на MySQL към GROUP BYкод>
)
От MySQL Docs: