Free cookie consent management tool by TermsFeed Policy Generator
  • SQL Server Vídeo
  •    26 visualizações da página
  •   4127 visualizações do vídeo
  • 2024, maio 25, sábado

#069 Como Remover registros duplicados no SQL Server

Nesse vídeo apresentamos como remover os registros duplicados da tabela no SQL Server.

 

Iremos conhecer as técnicas:

1. Obter os registros distintos (SELECT, DISTINCT):

  • Use a cláusula SELECT DISTINCT para recuperar apenas os registros únicos de uma coluna ou conjunto de colunas.

    Exemplo:

    SELECT DISTINCT Column1, Column2 FROM TableName;
    

2. Identificar registros duplicados no plano de execução (EXECUTION PLAN):

  • Analise o plano de execução para identificar operações que podem indicar a presença de registros duplicados.

3. Identificar registros duplicados por agrupamento de colunas (GROUP BY, COUNT):

  • Utilize a cláusula GROUP BY para agrupar os registros por colunas específicas e COUNT para contar a ocorrência de cada grupo.

    Exemplo:

    SELECT Column1, Column2, COUNT(*)
    FROM TableName
    GROUP BY Column1, Column2
    HAVING COUNT(*) > 1;
    

4. Filtrar registros agrupados (HAVING, COUNT):

  • Utilize a cláusula HAVING para filtrar os resultados do agrupamento com base em condições específicas, como contar mais de uma ocorrência.

    Exemplo:

    SELECT Column1, COUNT(*)
    FROM TableName
    GROUP BY Column1
    HAVING COUNT(*) > 1;
    

5. Identificar individualmente os registros duplicados por função de janela (ROW_NUMBER, OVER, PARTITION BY):

  • Utilize funções de janela, como ROW_NUMBER() OVER (PARTITION BY ...), para atribuir números de linha a registros duplicados.

    Exemplo:

    SELECT Column1, Column2, ROW_NUMBER() OVER (PARTITION BY Column1, Column2 ORDER BY SomeColumn) AS RowNum
    FROM TableName;
    

6. Excluir os registros duplicados em tabela de expressão comum (CTE, WITH, SUBQUERY, DELETE):

  • Use uma CTE (Common Table Expression) para identificar registros duplicados e, em seguida, utilize uma instrução DELETE para removê-los.

    Exemplo:

    WITH Duplicates AS (
     SELECT Column1, Column2, ROW_NUMBER() OVER (PARTITION BY Column1, Column2 ORDER BY SomeColumn) AS RowNum
     FROM TableName
    )
    DELETE FROM Duplicates WHERE RowNum > 1;
    

Esses são passos comuns para lidar com registros duplicados em consultas SQL no Microsoft SQL Server. Escolha o método mais apropriado com base nos requisitos específicos do seu cenário.

Este contéudo contém
  • Conteúdo Vídeo
  • Idioma Português
  • Duração 5m 48s
  • Legenda Sim

  • Tempo de leitura 1 min 31 seg

avatar
Fabio Santos

Cientista de Dados e Consultor de Soluções Digitais e Analíticas


  • Compartilhe

Youtube Channel

@fabioms

Inscreva-se agora