Como consultar dados duplicados com eficiência em tabelas MySQL

Em um banco de dados MySQL, ocasionalmente você encontrará uma situação em que precisará encontrar dados duplicados que aparecem em uma tabela. Nesse caso, podemos encontrar e lidar facilmente com essas linhas duplicadas escrevendo algumas consultas SQL. Este artigo apresentará alguns métodos e técnicas comuns para ajudá-lo a consultar com eficiência dados duplicados em tabelas MySQL.

Método 1: use a função COUNT() para consultar linhas duplicadas

A função COUNT() é uma das funções de agregação comumente usadas no MySQL, que pode ser usada para calcular o número de valores em um campo de uma tabela. Usando esta função, podemos encontrar os valores duplicados na tabela e seu número. A seguir estão as etapas específicas:

Escreva uma consulta SQL para selecionar a tabela de dados onde deseja encontrar dados duplicados e selecione o campo que deseja identificar.
Por exemplo:

SELECT campo1, campo2, COUNT(campo2) FROM nome_tabela GROUP BY campo2 HAVING COUNT(campo2)>1;

A instrução acima irá consultar o valor do campo field2 na tabela table_name e descobrir os registros cujos tempos de ocorrência são maiores que 1. Ao mesmo tempo, a consulta também exibe o valor do campo field1 e o número de repetições no registro field2 correspondente a esse campo.

Execute a instrução de consulta acima, você obterá todos os dados duplicados na tabela e o número correspondente de ocorrências. Você pode ver nos resultados da consulta todos os valores dos campos que ocorrem mais de 1, o que significa que ocorre pelo menos duas vezes.
Método 2: use a palavra-chave DISTINCT para consultar linhas duplicadas

A palavra-chave DISTINCT pode nos ajudar a remover dados duplicados na tabela. Podemos escrever uma consulta SQL para encontrar dados duplicados em uma coluna.

A seguir estão as etapas específicas:

Escreva uma consulta SQL para selecionar a tabela necessária e selecione os campos que você precisa consultar.
Por exemplo:

SELECT DISTINCT campo1 FROM nome_tabela WHERE campo2='duplicado_valor';

A instrução acima irá consultar todos os campos field1 na tabela table_name e selecionar apenas um dos valores duplicados. Podemos obter valores duplicados neste campo comparando o resultado da consulta com todos os valores exclusivos da tabela.

Execute a instrução de consulta acima, você obterá todos os dados duplicados na tabela e também todos os valores exclusivos do campo field1.
Método 3: usar consulta de autoadesão

Usar uma consulta de autojunção é um método mais complexo, mas também é um método muito poderoso que pode ser usado para localizar linhas duplicadas em uma tabela.

A seguir estão as etapas específicas:

Escreva uma instrução de consulta SQL e junte as tabelas de dados para fazer com que a tabela de dados na consulta resulte igual à tabela original. Precisamos selecionar os campos obrigatórios e especificar os campos que devem ser iguais à condição de junção.
Por exemplo,

SELECIONE A. FROM nome_tabela A INNER JOIN (SELECT campo1, campo2, COUNT() FROM nome_tabela GROUP BY campo1, campo2 HAVING COUNT(*)>1) B ON A.campo1=B.campo1 AND A.campo2=B.campo2;

A instrução acima irá consultar duas colunas de dados na tabela table_name: field1 e field2. Seus valores devem corresponder a outros registros da tabela para nos ajudar a encontrar linhas duplicadas. Nesta consulta, definimos o nome da tabela como A e a cópia da junção interna como B.

Execute a instrução de consulta acima e você obterá todos os dados duplicados na tabela.
para concluir

Encontrar dados duplicados em uma tabela é uma tarefa comum no MySQL. Este artigo descreve três maneiras comuns de localizar dados duplicados em uma tabela: usando a função COUNT(), usando a palavra-chave DISTINCT e usando uma consulta de autojunção. Estas técnicas são muito eficazes, você pode escolher o método mais adequado de acordo com a situação real. De qualquer forma, pode ajudá-lo a encontrar dados duplicados no banco de dados com eficiência.

Acho que você gosta

Origin blog.csdn.net/Roinli/article/details/130711806
Recomendado
Clasificación