Mysql
 sql >> Base de données >  >> RDS >> Mysql

Sélectionnez uniquement une ligne/un enregistrement unique dans mysql

Vous pouvez utiliser cette astuce mysql uniquement :

SELECT city, state_prefix, lattitude,longitude
FROM zip_code WHERE city LIKE '$queryString%'
GROUP BY city, state_prefix -- Here's the trick
LIMIT 10

Cela renverra la première ligne rencontrée pour chaque valeur unique de city et state_prefix .

D'autres bases de données se plaindront que vous avez des colonnes non agrégées non répertoriées dans le groupe par ou un message de ce type.

Modifié

Auparavant, j'ai affirmé que ne pas utiliser le upper() fonction sur les colonnes groupées par, elle renverrait toutes les variations de casse, mais c'était incorrect - merci à SalmanA de l'avoir signalé. J'ai vérifié en utilisant SQLFiddle et vous n'avez pas besoin d'utiliser upper() .