Je kunt deze mysql-truc gebruiken:
SELECT city, state_prefix, lattitude,longitude
FROM zip_code WHERE city LIKE '$queryString%'
GROUP BY city, state_prefix -- Here's the trick
LIMIT 10
Dit retourneert de eerste gevonden rij voor elke unieke waarde van city
en state_prefix
.
Andere databases zullen klagen dat u niet=-geaggregeerde kolommen heeft die niet in de groep worden vermeld door of een dergelijk bericht.
Bewerkt
Eerder beweerde ik dat het niet gebruiken van de upper()
functie op de gegroepeerde kolommen zou het alle variaties van hoofdletters retourneren, maar dat was onjuist - dankzij SalmanA voor het erop wijzen. Ik heb geverifieerd met SQLFiddle en u hoeft upper()
niet te gebruiken .