Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 0
            [id] => 32618
            [titulo] => SQL pra encontrar registros duplicados
            [dataCadastro] => DateTime Object
                (
                    [date] => 2004-11-26 00:00:00
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 234670
            [status] => A
            [isExample] => 
            [NomeUsuario] => gandalf.nho
            [Apelido] => 
            [Foto] => 
            [Conteudo] => SELECT DCB, Count(*) FROM nome_tabela
GROUP BY DCB
HAVING Count(*) > 1


) )

SQL pra encontrar registros duplicados

Titanius
   - 26 nov 2004

Olá tenho um banco de dados que piossui o campo DCB, que verá ser unico, o problema é que os dados vieram direto do CRF então existe registros duplicados... pois somente pode existir um DCB no banco de dados..

tipo... como faço pra fazer um SQL pra me mostrar todos os REgistro duplicados pelo DCB? e posteriormente deletar o de Codigo Maior.

desde ja agradeco
[]s

Gandalf.nho
   - 26 nov 2004

SELECT DCB, Count(*) FROM nome_tabela
GROUP BY DCB
HAVING Count(*) > 1

Titanius
   - 26 nov 2004

neste caso, me retorna somente os duplicados correto?

Titanius
   - 26 nov 2004

e como faco pra fazer adelecao destes registros?

Gandalf.nho
   - 26 nov 2004


Citação:
neste caso, me retorna somente os duplicados correto?


Sim

Citação:
e como faco pra fazer adelecao destes registros?


Monte um código para passar por cada registro retornado pela query e use o valor como critério.

Titanius
   - 26 nov 2004

valkeu manaw...

funfou perfeito aki....

valeu :lol:

[]s

Allan Gaspar
   - 14 out 2014

select distinct
IDCLIENTE
from Cliente_Rotas
group by IDCLIENTE
having COUNT(IDCLIENTE)>1

Leandro Waszak
   - 05 nov 2014

No meu caso não funcionou, alguém pode me ajudar?
Não está trazendo só os duplicados.

---------------------------------------------------------------------------------

SELECT DISTINCT EC.CGC
FROM ENTIDADES_COMERCIAIS EC
WHERE EC.CGC > 0
AND EC.CGC IN (SELECT EC.CGC
FROM ENTIDADES_COMERCIAIS EC, PAPEIS_NO_NEGOCIO PP
WHERE EC.CODIGO_DA_ENTIDADE_COMERCIAL =
PP.CODIGO_DA_ENT_COMERCIAL_2
and pp.codigo_do_tipo_de_papel_nego + 0 = 30
and pp.codigo_do_tipo_de_segmento + 0 = 1
and pp.codigo_da_ent_comercial_2 not in
AND EC.CGC IS NOT NULL
GROUP BY EC.CGC,
EC.CODIGO_DA_ENTIDADE_COMERCIAL,
EC.NOME_DA_ENTIDADE_COMERCIAL,
PP.CODIGO_DA_ENT_COMERCIAL_1,
PP.DATA_DE_CANCELAMENTO,
PP.FILIAL_ORIGEM_CLIENTE_ATACADO)

HAVING COUNT(EC.CGC) > 1
GROUP BY EC.CGC;

Leandro Waszak
   - 05 nov 2014

Consegui da seguinte forma:

(...)
and 1 < (select count(1)
from entidades_comerciais ec2
where ec1.cgc = ec2.cgc)
(...)