MySQL Encontre valores duplicados na tabela

MySQL Encontre valores duplicados na tabela
Dados redundantes podem ser mantidos na tabela pelo programa de banco de dados, influenciando a saída do banco de dados no MySQL. A replicação de dados, no entanto, acontece para diferentes propósitos, e é um trabalho importante identificar os valores duplicados na tabela ao lidar com um banco de dados MySQL. Em termos gerais, é inteligente usar restrições claras em uma tabela frequentemente para armazenar informações que impede linhas redundantes. Às vezes, em um banco de dados MySQL, você pode calcular o número de valores repetidos. Abordamos essa questão neste tópico, no qual você aprenderá sobre como localizar valores duplicados de maneiras diferentes e como contar valores duplicados.

Para começar, você deve ter o MySQL instalado em seu sistema com seus utilitários: MySQL Workbench e Command-Line Client Shell. Depois disso, você deve ter alguns dados ou valores em suas tabelas de banco de dados como duplicatas. Vamos explorar isso com alguns exemplos. Primeiro de tudo, abra seu shell cliente da linha de comando na barra de tarefas da área.

Encontramos métodos diferentes para encontrar duplicados em uma mesa. Dê uma olhada neles um por um.

Pesquise duplicando em uma única coluna

Primeiro, você deve saber sobre a sintaxe da consulta usada para verificar e contar duplicatas para uma única coluna.

>> Selecione Count Count (Col) do grupo de tabela por Col, com contagem (col)> 1;

Aqui está a explicação da consulta acima:

  • Coluna: Nome da coluna a ser verificado.
  • CONTAR(): a função usada para contar muitos valores duplicados.
  • Grupo por: A cláusula usada para agrupar todas as linhas de acordo com essa coluna em particular.

Criamos uma nova tabela chamada 'Animals' em nosso banco de dados MySQL 'dados' com valores duplicados. Tem seis colunas com valores diferentes, e.g., ID, nome, espécie, sexo, idade e preço, fornecendo informações sobre diferentes animais de estimação. Ao chamar esta tabela usando a consulta Select, obtemos a saída abaixo em nosso shell do cliente da linha de comando MySQL.

>> Selecione * FROM dados.animais;

Agora, tentaremos encontrar os valores redundantes e repetidos da tabela acima usando a contagem e o grupo por cláusula na consulta selecionada. Esta consulta contará os nomes de animais de estimação que estão localizados menos de 3 vezes na tabela. Depois disso, ele exibirá esses nomes como abaixo.

>> Selecione a contagem de nomes (nome) dos dados.Grupo de animais por nome tendo contagem (nome) < 3;

Usando a mesma consulta para obter resultados diferentes enquanto altera o número de contagem para nomes de animais de estimação, como mostrado abaixo.

>> Selecione a contagem de nomes (nome) dos dados.Grupo de animais por nome tendo contagem (nome)> 3;

Para obter resultados para um total de 3 valores duplicados para nomes de animais de estimação, como mostrado abaixo.

>> Selecione a contagem de nomes (nome) dos dados.Grupo de animais por nome tendo contagem (nome) = 3;

Pesquisar duplicatas em várias colunas

A sintaxe da consulta para verificar ou contar duplicatas para várias colunas é a seguinte:

>> selecione col1, contagem (col1), col2, contagem (col2) do grupo de tabela por col1, col2 com contagem (col1)> 1 e contagem (col2)> 1;

Aqui está a explicação da consulta acima:

  • Col1, col2: nome das colunas a serem verificadas.
  • CONTAR(): a função usada para contar vários valores duplicados.
  • Grupo por: A cláusula usada para agrupar todas as linhas de acordo com essa coluna específica.

Temos usado a mesma tabela chamada 'animais' com valores duplicados. Temos a saída abaixo ao utilizar a consulta acima para verificar os valores duplicados em várias colunas. Temos verificado e contando os valores duplicados para colunas gênero e preço, enquanto agrupados pelo preço da coluna. Ele mostrará os gêneros de estimação e seus preços que residem na tabela, pois duplicata não mais de 5.

>> selecione gênero, contagem (gênero), preço, contagem (preço) dos dados.Grupo de animais por preço com contagem (preço) < 5 AND COUNT(Gender) < 5;

Pesquise duplicatas em uma única tabela usando junção interna

Aqui está a sintaxe básica para encontrar duplicatas em uma única tabela:

>> Selecione col1, col2, tabela.Col da tabela INNER JONE (SELECT COL FROM GRUPO DE TABELO POR COL TEM CONTAÇÃO (COL1)> 1) TEMP ON TABLE.col = temp.col;

Aqui está a narrativa da consulta aérea:

  • Col: O nome da coluna a ser verificado e selecionado para duplicatas.
  • Temp: Palavra -chave para aplicar a junção interna em uma coluna.
  • Mesa: nome da tabela a ser verificado.

Temos uma nova tabela, 'Order2' com valores duplicados na coluna OrderNo, como mostrado abaixo.

>> Selecione * FROM dados.ordem2;

Estamos selecionando três colunas: item, vendas, ordem a ser mostrada na saída. Enquanto a ordem da coluna não é usada para verificar duplicatas. A junção interna selecionará os valores ou linhas com os valores dos itens mais de um em uma tabela. Ao executar, obteremos os resultados abaixo.

>> Selecione Item, Vendas, Ordem2.Orderno da Data.Ordem2 INNER JONE (SELECT ORDEMNO FRO.Ordem2 Group by Orderno tendo contagem (item)> 1) Temp no Ordem2.OrdemNo = Temp.Ordem;

Pesquise duplicatas em várias tabelas usando a junção interna

Aqui está a sintaxe simplificada para encontrar duplicatas em várias tabelas:

>> Selecione Col da Tabela1 Tabela de junção interna 2 na Tabela1.col = Tabela2.col;

Aqui está a descrição da consulta aérea:

  • Col: nome das colunas a serem verificadas e selecionadas.
  • JUNÇÃO INTERNA: a função usada para se juntar a duas tabelas.
  • SOBRE: usado para se juntar a duas tabelas de acordo com as colunas fornecidas.

Temos duas tabelas, 'Order1' e 'Order2', em nosso banco de dados com a coluna 'Orderno' em ambos, conforme exibido abaixo.

Usaremos a junção interna para combinar as duplicatas de duas tabelas de acordo com uma coluna especificada. A cláusula de junção interna receberá todos os dados de ambas.g., Ordemno.

>> Selecione * FROM dados.Ordem1 Dados de junção interna.Ordem2 no pedido1.OrdemNo = Order2.Ordem;

Para obter as colunas específicas em uma saída, tente o comando abaixo:

>> Selecione região, status, item, vendas dos dados.Ordem1 Dados de junção interna.Ordem2 no pedido1.OrdemNo = Order2.Ordem;

Conclusão

Agora poderíamos procurar várias cópias em uma ou várias tabelas de informações do MySQL e reconhecer o grupo por, contagem e função de junção interna. Certifique -se de construir as mesas corretamente e também que as colunas certas sejam escolhidas.