Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Selecione apenas linha/registro exclusivo no mysql


Você pode usar este truque somente 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

Isso retornará a primeira linha encontrada para cada valor exclusivo de city e state_prefix .

Outros bancos de dados reclamarão que você tem colunas não =agregadas não listadas no grupo por ou alguma mensagem desse tipo.

Editado


Anteriormente, eu afirmei que não usar o upper() função nas colunas agrupadas por ele retornaria todas as variações de maiúsculas e minúsculas, mas isso estava incorreto - graças a SalmanA por apontar isso. Eu verifiquei usando SQLFiddle e você não precisa usar upper() .