Nome | Seção |
---|---|
abc | CS1 |
bcd | CS2 |
abc | CS1 |
Na tabela acima, podemos encontrar linhas duplicadas usando a consulta abaixo.
SELECT name, section FROM tblGROUP BY name, sectionHAVING COUNT(*) > 1
Outro exemplo:
Dada uma tarefa de tabela chamada PERSON é escrever uma consulta SQL para encontrar todos os nomes duplicados na tabela.
Exemplo:
+----+---------+| Id | NAME |+----+---------+| 1 | Geeks || 2 | for || 3 | Geeks |+----+---------+Output :+---------+| NAME |+---------+| Geeks |+---------+
A abordagem simples é fazer uma tabela temporária que contenha todos os nomes de uma tabela.
NOME duplicado existiu mais de uma vez, para contar as vezes de cada NAME existe, podemos usar o seguinte código:
select NAME, count(NAME) as numfrom Persongroup by NAME;
| NAME | num ||---------|-----|| Geeks | 2 || for | 1 |
Esta é uma tabela temporária, no qual podemos executar o código abaixo para obter o NOME duplicado.
A melhor abordagem é usar a condição GROUP BY e HAVING. É mais eficaz e mais rápido do que o anterior.
MySql:
select NAMEfrom Persongroup by NAMEhaving count(NAME) > 1;
Este artigo foi contribuído por Sahil Rajput. Se você gosta de GeeksforGeeks e gostaria de contribuir, também pode escrever um artigo usando contrib.geeksforgeeks.org ou enviar seu artigo para [email protected]. Veja o seu artigo na página principal do GeeksforGeeks e ajude outros Geeks.