Free cookie consent management tool by TermsFeed Policy Generator
  • SQL Server Video
  •    26 page views
  •   4127 video views
  • 2024, May 25, Saturday

#069 How to Remove Duplicate Records in 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.

This content contains
  • Content Video
  • Language Portuguese
  • Duration 5m 48s
  • Subtitles Sim

  • Reading time 1 min 31 seg

avatar
Fabio Santos

Data Scientist and Consultant for Digital and Analytics Solutions


  • Share

Youtube Channel

@fabioms

Subscribe now

You might also like