Можете да използвате този трик само за mysql:
SELECT city, state_prefix, lattitude,longitude
FROM zip_code WHERE city LIKE '$queryString%'
GROUP BY city, state_prefix -- Here's the trick
LIMIT 10
Това ще върне открития първи ред за всяка уникална стойност на city
и state_prefix
.
Други бази данни ще се оплакват, че имате не=-обобщени колони, които не са изброени в групата от или някакво подобно съобщение.
Редактирано
Преди това твърдях, че не използвам upper()
функция на групираните по колони, тя ще върне всички варианти на главни и малки букви, но това беше неправилно - благодарение на SalmanA, че посочи това. Проверих с помощта на SQLFiddle и не е необходимо да използвате upper()
.