Home / T-SQL / Dubbele rijen vinden

Dubbele rijen vinden

Iedere rij in een tabel wordt gekenmerkt door een primaire sleutel. Nu komt het nog weleens voor dat in je systeem de sleutel twee keer voorkomt. Dit mag eigenlijk niet. Met deze simpele Query kun je snel dubbele rijen vinden in je tabel!


Onderstaande Query toont aan hoe je dubbele medewerkers kunt vinden, gebaseerd op EMPLOYEENUMBER. Dit zou de primaire sleutel moeten zijn uit de bron.

SELECT DISTINCT
EMPLOYEENUMBER
FROM    EMPLOYEES
GROUP BY EMPLOYEENUMBER
HAVING  COUNT(EMPLOYEENUMBER) > 1<span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; white-space: normal;"> </span>

Vervolgens wil je deze dubbele nummers vaak niet meenemen bij het laden van je data. Met onderstaande QUERY kun je dubbele medewerkers filteren.

SELECT  *
FROM    (
SELECT EmployeeNumber,
ROW_NUMBER() OVER (PARTITION BY EMPLOYEENUMBER ORDER BY EMPLOYEENUMBER ASC) AS Rij
FROM   EMPLOYEES AS LM
) AS X
WHERE   X.Rij <= 1

Wat we hier doen is een rijnummer toevoegen per uniek EmployeeNumber. Als een nummer twee keer voorkomt krijgt deze rijnummer 2. Vervolgens halen we alle rijen met het getal > 1 weg!

Check Also

Calculate Age in SQL Server

In my daily work, I need to calculate and report the age of people very …

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *