Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wybierz tylko unikalny wiersz/rekord w mysql

Możesz użyć tej sztuczki tylko 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

Spowoduje to zwrócenie pierwszego napotkanego wiersza dla każdej unikalnej wartości city i state_prefix .

Inne bazy danych będą narzekać, że masz kolumny nie zagregowane, które nie są wymienione w grupie za pomocą takiej wiadomości.

Edytowane

Wcześniej twierdziłem, że nie używam upper() funkcja na kolumnach pogrupowanych według zwróciłaby wszystkie warianty wielkości liter, ale to było niepoprawne - dzięki SalmanA za wskazanie tego. Zweryfikowałem za pomocą SQLFiddle i nie musisz używać upper() .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać kluczy obcych w PHP

  2. Błąd importu bazy danych MySQL #1064

  3. Korzystanie z Oracle JDeveloper z MySQL Database Service na Oracle Cloud Platform, część 2

  4. Baza danych istnieje, ale zwraca błąd o treści Nieznana baza danych

  5. Wyzwalacz MySQL:skopiuj wartość auto_increment do innej kolumny po wstawieniu