Sie können diesen Nur-Mysql-Trick verwenden:
SELECT city, state_prefix, lattitude,longitude
FROM zip_code WHERE city LIKE '$queryString%'
GROUP BY city, state_prefix -- Here's the trick
LIMIT 10
Dadurch wird die erste gefundene Zeile zurückgegeben für jeden eindeutigen Wert von city
und state_prefix
.
Andere Datenbanken werden sich darüber beschweren, dass Sie nicht =aggregierte Spalten haben, die nicht in der Gruppe von oder einer solchen Nachricht aufgeführt sind.
Bearbeitet
Zuvor habe ich behauptet, dass upper()
nicht verwendet wird Funktion auf den Gruppiert-nach-Spalten würde es alle Fallvariationen zurückgeben, aber das war falsch - danke an SalmanA für den Hinweis. Ich habe die Verwendung von SQLFiddle überprüft, und Sie müssen upper()
nicht verwenden .