Dae pessoal, tudo bele?
Hoje vi um post em uma lista de MySQL de alguém querendo saber como checar registros repetidos em uma tabela. Bom a solução mais simples, clara, NO GAMBI é o uso do HAVING (contendo).
E então criemos a tabela de testes (jogo rápido!):
CREATE TABLE DADOSREPETIDOS (ID INT, NOME VARCHAR(200));
Agora vamos popular (tá, minha criativida é f*** mesmo, não pensei em nada melhor do que meia dúzia de personagens de TV :D):
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(1, 'John Due');
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(2, 'Martha Kent');
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(3, 'Nick Stokes');
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(4, 'Scooby Doo');
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(5, 'Bart Simpson');
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(6, 'Clhoe Sullivan');
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(7, 'Gil Grisson');
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(8, 'Warrick Brown');
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(9, 'Rachel Bilson');
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(10, 'Clark Kent');
/* OS REPETIDOS */
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(11, 'John Due');
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(12, 'Nick Stokes');
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(13, 'Rachel Bilson');
INSERT INTO DADOSREPETIDOS (ID, NOME) VALUES(14, 'Bart Simpson');
E finalmente vamos selecionar os registros repetidos:
SELECT COUNT(*), d1.Nome
FROM JEAN.DADOSREPETIDOS d1
GROUP BY d1.Nome
HAVING COUNT(*) > 1
Resultado da query:
+----------+---------------+
| COUNT(*) | Nome |
+----------+---------------+
| 2 | Bart Simpson |
| 2 | John Due |
| 2 | Nick Stokes |
| 2 | Rachel Bilson |
+----------+---------------+
4 rows in set (0.00 sec)
Beleza, essa é a maneira mais rápida de se procurar por registros iguais em uma tabela. Sendo que ele pega somente a primeira ocorrência, CUIDADO ao deletados se for fazer isso... as vezes, para não quebrar uma sequência por exemplo, é preferivel deletar os posteriores.
Espero ter ajudado.
Ajudem o blog aí pessoal prestigiando os nossos anunciantes :D.
Mostrando postagens com marcador having. Mostrar todas as postagens
Mostrando postagens com marcador having. Mostrar todas as postagens
segunda-feira, abril 16, 2007
Assinar:
Postagens (Atom)