Anda dapat menggunakan trik khusus mysql ini:
SELECT city, state_prefix, lattitude,longitude
FROM zip_code WHERE city LIKE '$queryString%'
GROUP BY city, state_prefix -- Here's the trick
LIMIT 10
Ini akan mengembalikan baris pertama yang ditemukan untuk setiap nilai unik city
dan state_prefix
.
Basis data lain akan mengeluh bahwa Anda memiliki kolom non=-agregat yang tidak tercantum dalam grup oleh atau beberapa pesan semacam itu.
Diedit
Sebelumnya saya mengklaim bahwa tidak menggunakan upper()
fungsi pada kolom yang dikelompokkan berdasarkan itu akan mengembalikan semua variasi huruf besar-kecil, tetapi itu salah - terima kasih kepada SalmanA untuk menunjukkan hal itu. Saya memverifikasi menggunakan SQLFiddle dan Anda tidak perlu menggunakan upper()
.