sql >> Databáze >  >> RDS >> Mysql

Vyberte pouze jedinečný řádek/záznam v mysql

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() .



  1. Uzavření aktivních připojení pomocí RMySQL

  2. Vytváření vícerozměrného vnořeného pole z výsledku MySQL s duplicitními hodnotami (PHP)

  3. Jak vložit data do sloupců z PHP do MariaDB?

  4. Nepodařilo se najít funkci převodu z neznámého na text