MySQL MariaDB

MySQL Encontrar Valores Duplicados na Tabela

MySQL Encontrar 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 finalidades diferentes e é um trabalho importante para 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 com frequência para armazenar informações que evitam linhas redundantes. Às vezes, em um banco de dados MySQL, você pode querer calcular o número de valores repetidos. Abordamos essa questão neste tópico, no qual você aprenderá como localizar valores duplicados de diferentes maneiras e como contar valores duplicados.

Para começar, você deve ter o MySQL instalado em seu sistema com seus utilitários: MySQL workbench e shell do cliente de linha de comando. Depois disso, você deve ter alguns dados ou valores em suas tabelas de banco de dados como duplicatas. Vamos explorar isso com alguns exemplos. Em primeiro lugar, abra o shell do cliente de linha de comando na barra de tarefas da área de trabalho e digite sua senha do MySQL quando solicitado.

Encontramos diferentes métodos para localizar duplicatas em uma tabela. Dê uma olhada neles um por um.

Pesquisar duplicatas em uma única coluna

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

>> SELECT col COUNT (col) FROM tabela GROUP BY col HAVING COUNT (col)> 1;

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

Criamos uma nova tabela chamada 'animais' em nosso banco de dados MySQL 'dados' com valores duplicados. Possui seis colunas com diferentes valores, e.g., id, nome, espécie, gênero, 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 de cliente de linha de comando do MySQL.

>> SELECIONE * DOS dados.animais;

Agora, tentaremos encontrar os valores redundantes e repetidos da tabela acima usando as cláusulas COUNT e GROUP BY na consulta SELECT. Esta consulta irá contar os nomes dos animais de estimação que estão localizados menos de 3 vezes na tabela. Depois disso, ele exibirá esses nomes conforme abaixo.

>> SELECIONE Nome COUNT (Nome) FROM dados.animais AGRUPAR POR Nome TENDO CONTAGEM (Nome) < 3;

Usando a mesma consulta para obter resultados diferentes ao alterar o número COUNT para nomes de animais de estimação, conforme mostrado abaixo.

>> SELECIONE Nome COUNT (Nome) FROM dados.animais GRUPO POR Nome TENDO CONTAGEM (Nome)> 3;

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

>> SELECIONE Nome COUNT (Nome) FROM dados.animais GROUP BY Nome HAVING COUNT (Nome) = 3;

Pesquisar duplicados em várias colunas

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

>> SELECIONE col1, COUNT (col1), col2, COUNT (col2) DA tabela GRUPO POR col1, col2 HAVING COUNT (col1)> 1 AND COUNT (col2)> 1;

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

Temos usado a mesma tabela chamada 'animais' com valores duplicados. Obtivemos o resultado abaixo ao utilizar a consulta acima para verificar os valores duplicados em várias colunas. Temos verificado e contado os valores duplicados das colunas Sexo e Preço, agrupados pela coluna Preço. Ele mostrará os gêneros dos animais de estimação e seus preços que residem na tabela como duplicatas não superiores a 5.

>> SELECIONE Gênero, COUNT (Gênero), Preço, COUNT (Preço) FROM dados.animais AGRUPAR POR Preço TENDO CONTAGEM (Preço) < 5 AND  COUNT(Gender) < 5;

Pesquisar duplicatas em uma única tabela usando INNER JOIN

Esta é a sintaxe básica para localizar duplicatas em uma única tabela:

>> SELECIONE col1, col2, tabela.col FROM tabela INNER JOIN (SELECT col FROM tabela GROUP BY col HAVING COUNT (col1)> 1) temp ON tabela.col = temp.col;

Aqui está a narrativa da consulta aérea:

Temos uma nova tabela, 'pedido2' com valores duplicados na coluna PedidoNo, conforme mostrado abaixo.

>> SELECIONE * DOS dados.pedido2;

Estamos selecionando três colunas: Item, Vendas, PedidoNo para serem mostrados na saída. Enquanto a coluna OrderNo é usada para verificar duplicatas. A junção interna irá selecionar os valores ou linhas tendo os valores de Itens mais de um em uma tabela. Após a execução, obteremos os resultados abaixo.

>> SELECIONE item, vendas, pedido2.Dados OrderNo FROM.pedido2 INNER JOIN (SELECIONE dados OrderNo FROM.pedido2 GRUPO POR PedidoNão TENDO CONTAGEM (item)> 1) temp ON pedido2.OrderNo = temp.OrderNo;

Pesquisar duplicatas em várias tabelas usando INNER JOIN

Esta é a sintaxe simplificada para localizar duplicatas em várias tabelas:

>> SELECT col FROM tabela1 INNER JOIN tabela2 ON tabela1.col = table2.col;

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

Temos duas tabelas, 'pedido1' e 'pedido2', em nosso banco de dados com a coluna 'PedidoNo' em ambos como mostrado abaixo.

Estaremos usando a junção INNER para combinar as duplicatas de duas tabelas de acordo com uma coluna especificada. A cláusula INNER JOIN obterá todos os dados de ambas as tabelas juntando-as, e a cláusula ON relacionará as mesmas colunas de nome de ambas as tabelas, e.g., OrderNo.

>> SELECIONE * DOS dados.dados do pedido1 INNER JOIN.pedido2 ON pedido1.OrderNo = pedido2.OrderNO;

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

>> SELECIONE região, status, item, dados de vendas DE.dados do pedido1 INNER JOIN.pedido2 ON pedido1.OrderNo = pedido2.OrderNO;

Conclusão

Podemos agora pesquisar por várias cópias em uma ou várias tabelas de informações do MySQL e reconhecer as funções GROUP BY, COUNT e INNER JOIN. Certifique-se de ter construído as tabelas corretamente e também de que as colunas corretas foram escolhidas.

Como usar o Xdotool para estimular cliques do mouse e pressionamentos de tecla no Linux
Xdotool é uma ferramenta de linha de comando gratuita e de código aberto para simular cliques do mouse e pressionamentos de tecla. Este artigo irá cob...
Os 5 principais produtos ergonômicos de mouse de computador para Linux
O uso prolongado do computador causa dor no pulso ou nos dedos? Você está sofrendo de rigidez nas articulações e constantemente precisa apertar as mão...
Como alterar as configurações do mouse e touchpad usando Xinput no Linux
A maioria das distribuições Linux vem com a biblioteca “libinput” por padrão para lidar com eventos de entrada em um sistema. Ele pode processar event...