Můžete použít tento trik pouze pro 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
Tím se vrátí první nalezený řádek pro každou jedinečnou hodnotu city
a state_prefix
.
Jiné databáze si budou stěžovat, že máte neagregované sloupce, které nejsou uvedeny ve skupině podle nebo nějaké takové zprávy.
Upraveno
Dříve jsem tvrdil, že nepoužívám upper()
funkce ve sloupcích seskupených podle by vrátila všechny variace velkých a malých písmen, ale to bylo nesprávné - díky SalmanA za upozornění. Ověřil jsem pomocí SQLFiddle a nemusíte používat upper()
.