sql >> Database >  >> Database Tools >> SSMS

Hoe krijg ik de T-SQL-code om duplicaten te vinden?

Welnu, als je hele rijen als duplicaten in je tabel hebt staan, heb je in ieder geval geen primaire sleutel ingesteld voor die tabel, anders zou de waarde van de primaire sleutel anders zijn.

Hier leest u echter hoe u een SQL bouwt om duplicaten over een reeks kolommen te krijgen:

SELECT col1, col2, col3, col4
FROM table
GROUP BY col1, col2, col3, col4
HAVING COUNT(*) > 1

Hiermee worden rijen gevonden die, voor kolommen col1-col4, meer dan eens dezelfde combinatie van waarden hebben.

In de volgende tabel zouden rijen 2+3 bijvoorbeeld duplicaten zijn:

PK    col1    col2    col3    col4    col5
1       1       2       3       4      6
2       1       3       4       7      7
3       1       3       4       7      10
4       2       3       1       4      5

De twee rijen delen gemeenschappelijke waarden in kolommen col1-col4, en dus wordt door die SQL als duplicaten beschouwd. Vouw de lijst met kolommen uit om alle kolommen te bevatten waarvoor u dit wilt analyseren.



  1. Oproep naar fetch_assoc() op een niet-object dat niet werkt?

  2. Kleine release 5.3.3

  3. De CommandTimeout wijzigen in SQL Management Studio

  4. Selecteer een record alleen als het record ervoor een lagere waarde heeft, duurt te lang en mislukt