Resolve BI

Como remover duplicados em SQL

Básico5 min

O problema

A consulta retorna a mesma venda repetida várias vezes.

Como funciona

Duplicidade normalmente vem do join. Se o dado realmente repete, use uma numeração por partição e mantenha a primeira linha.

Exemplo

SQL
WITH ordenado AS (
    SELECT *,
        ROW_NUMBER() OVER (
            PARTITION BY pedido_id
            ORDER BY atualizado_em DESC
        ) AS rn
    FROM pedidos
)
SELECT * FROM ordenado WHERE rn = 1;

Resultado

Uma linha por pedido, sempre a versão mais recente.

Quando usar

  • Tabelas de staging com reprocessamento
  • Cargas incrementais

Quando evitar

  • Quando DISTINCT simples já resolve

Resolve Melhor

Antes de deduplicar, confirme a granularidade esperada da tabela. Muitas vezes o problema é o join, não o dado.

Dúvidas relacionadas