Olá galera!

Nesta artigo, falarei sobre a cláusula DISTINCT, no MySql. Se você está precisando buscar dados em uma tabela, mas eliminando os duplicados, esta postagem será bastante útil.

A cláusula DISTINCT é utilizada para selecionada os dados, porém eliminador os que estão duplicados, mostrando na consulta, apenas os dados que são distintos. Vamos pensar no cenário em que temos uma tabela chamada “Clientes”, por exemplo, como a estrutura apresentada nas Imagens 1 e 2.

Imagem 1: Estrutura da tabela Clientes
Imagem 2: Estrutura da tabela Clientes

A tabela “Clientes” possui 10 registrados cadastrados, conforme pode ser visualizado na Imagem 3.

Imagem 3: Registros da tabela Clientes




Para buscar todos os registros você escreverá a seguinte query:

SELECT * FROM Clientes;

Com esta query todos os registros da tabela serão exibidos (os mesmos mostrados na Imagem 3).

Vamos executar agora a seguinte query:

SELECT DISTINCT * FROM Clientes;

Neste caso não haverá diferença da query anterior, que busca todos os registros da tabela. Isso acontece devido ao fato da tabela “Clientes” não possuir nenhuma linha com conteúdo totalmente igual a outra. Imagine o caso (por algum motivo fio criada uma tabela sem chave primária) onde duas linhas são exatamente iguais, inclusive os campos “codigo” (acredite, existem “programadores” que criam tabelas sem chave primária. #Chatiado #Triste). Logo, se executada a query (SELECT DISTINCT * FROM Clientes;) novamente, apenas uma das linhas seria apresentada, pois as duplicidades não são mostradas no resultado da consulta.

Bem, você continua achando estranha a forma de utilizar esta função? Bem, acredito que no próximo exemplo tudo ficará mais claro.

Vamos realizar uma consulta para sabermos quais são as cidades onde possuímos clientes. Neste caso a seguinte query seria utilizada:

SELECT DISTINCT (cidade) FROM Clientes;

A saída da query acima seria:

Imagem 4: Resultado da Consulta

Perceba agora que apenas 7 registros são mostrados. Acontece que as vezes em que o campo cidade aparece repetido ele é mostrado uma única vez.

Para finalizar, se houvesse a necessidade de saber o número de registros da consulta, bastaria acrescentar a função COUNT:

SELECT COUNT(DISTINCT (cidade)) FROM Clientes;

Gostou do post? Então curta e compartilhe. Deixe a sua opinião nos comentários.





Entre no grupo do Telegram para receber as dicas de cursos que estão gratuitos e ainda ficar por dentro das promoções da Udemy.

Clique na imagem para acessar o grupo.

Clique aqui para curtir a página Programação Prática no Facebook.

Clique aqui para inscrever-se no Canal Programação Prática no YouTube.



Até a próxima postagem! 🙂


0 comentários

Deixe um comentário

Avatar placeholder

O seu endereço de email não será publicado. Campos obrigatórios marcados com *