Du kan använda det här mysql-tricket:
SELECT city, state_prefix, lattitude,longitude
FROM zip_code WHERE city LIKE '$queryString%'
GROUP BY city, state_prefix -- Here's the trick
LIMIT 10
Detta kommer att returnera den första raden som påträffades för varje unikt värde för city
och state_prefix
.
Andra databaser kommer att klaga på att du har icke=aggregerade kolumner som inte är listade i gruppen av eller något sådant meddelande.
Redigerad
Tidigare hävdade jag att jag inte använder upper()
funktion på de grupperade kolumnerna skulle det returnera alla fallvariationer, men det var felaktigt - tack vare SalmanA för att påpeka det. Jag verifierade med SQLFiddle och du behöver inte använda upper()
.