Consulta de valores distintos do mysql

Consulta de valores distintos do mysql
Na maioria dos bancos de dados, você geralmente encontrará valores duplicados-exceto para chaves primárias exclusivas. Por exemplo, um banco de dados pode conter uma tabela de filme com classificações semelhantes, ano de lançamento e outros valores semelhantes.

Portanto, para obter uma lista de valores únicos, como os vários tipos de classificações de filmes, precisamos obter apenas os valores únicos usando a palavra -chave distinta MySQL.

Este tutorial superará como usar a palavra -chave distinta em consultas MySQL para obter resultados únicos.

Antes de começarmos, assumimos que você tem o MySQL instalado em seu sistema e pode executar operações nos bancos de dados.

Se você precisar de um banco de dados de amostra para trabalhar, considere o banco de dados Sakila no recurso fornecido abaixo:

https: // dev.mysql.com/doc/índice-outro.html

Uso básico

A sintaxe geral para a cláusula distinta do MySQL é:

Selecione Distinta Column_list de tabela_name;

Aqui, o column_list é o conjunto de colunas que você deseja recuperar separadas por vírgulas. O nome da tabela é a tabela para selecionar os referidos valores.

Exemplo de uso de uso

Vamos agora ilustrar como usar o mysql distinto usando um exemplo. Estamos usando o banco de dados de amostra de Sakila para ilustração.

No banco de dados Sakila, você encontrará a tabela dos atores, que contém campos como mostrado no comando abaixo:

Desc Sakila.ator;

A saída que descreve os campos da tabela é mostrada abaixo:

mysql> desca sakila.ator;
+-------------+-------------------+------+-----+
| Campo | Tipo | Nulo | Chave |
+-------------+-------------------+------+-----+
| ator_id | SmallInt não assinado | Não | PRI |
| primeiro_name | Varchar (45) | Não | |
| Último nome | Varchar (45) | Não | Mul |
| last_update | Timestamp | Não | |
+-------------+-------------------+------+-----+

OBSERVAÇÃO: Eu truncei esta tabela para mostrar apenas informações relevantes.

Se selecionarmos os valores na tabela e ordem dos atores pelo primeiro nome, as chances são altas de que teremos valores duplicados, conforme mostrado na consulta abaixo:

Selecione First_Name, Last_Name de Sakila.Ordem do ator por First_Name Limit 10;

Podemos ver na saída que existem nomes duplicados, como mostrado abaixo:

OBSERVAÇÃO: Limitamos a saída aos 10 primeiros valores, pois a tabela contém informações maciças. Sinta -se à vontade para remover o limite e ver quantos valores existem.

+------------+-------------+
| primeiro_name | Último nome |
+------------+-------------+
| Adam | Tremonha |
| Adam | Concessão |
| Al | Garland |
| Alan | Dreyfuss |
| Albert | Nolte |
| Albert | Johansson |
| Alec | Wayne |
| Angela | Witherspoon |
| Angela | Hudson |
| Angelina | Astaire |
+------------+-------------+
10 linhas no set (0.00 seg)

Usando a cláusula distinta no MySQL, podemos filtrar para obter nomes exclusivos da mesma tabela, conforme mostrado na consulta abaixo:

Selecione Distinct First_name de Sakila.Ordem do ator por First_Name Limit 10;

Depois de executar a consulta acima, obteremos uma lista de nomes exclusivos.

mysql> selecione Distinct First_Name de Sakila.Ordem do ator por First_Name Limit 10;
+------------+
| primeiro_name |
+------------+
| Adam |
| Al |
| Alan |
| Albert |
| Alec |
| Angela |
| Angelina |
| Anne |
| Audrey |
| Bela |
+------------+
10 linhas no set (0.00 seg)

Exemplo de uso do caso: funções agregadas

Você também pode usar distinto dentro de uma função agregada do MySQL, como contagem e soma. Por exemplo, para usar junto com a contagem da consulta acima, podemos fazer:

Selecione a contagem (Distinct First_Name) de Sakila.ator onde last_name = "berry";
+----------------------------+
| CONTA (DISTING FULS_NAME) |
+----------------------------+
| 3 |
+----------------------------+
1 linha no conjunto (0.00 seg)

A consulta acima nos dá o número de nomes dos primeiros nomes distintos, onde o último nome é Berry.

OBSERVAÇÃO: É bom ter em mente que mesmo os valores nulos são considerados duplicados pela cláusula distinta. Portanto, se você tiver vários valores nulos, apenas um será devolvido.

Conclusão

Como visto neste tutorial, você pode usar a cláusula distinta MySQL para buscar valores únicos de um campo de tabela que contém valores duplicados.