56 votes

SQL Renvoie uniquement les lignes en double

J’ai une requête qui renvoie les lignes suivantes :

StateId, OrderId, OrderTime, PermitId

Je dois renvoyer uniquement les lignes qui sont des doublons exacts dans tous les domaines, de sorte que chaque enregistrement doit être identique à l’autre enregistrement pour qu’il soit un doublon. J’aimerais retourner les deux dossiers. Ces reocrds sont mélangés avec un tas de disques qui n’ont pas de doublons...

Une idée ?

79voto

gbn Points 197263

Tout d’abord, identifiez les doublons. Deuxièmement, rejoignez-les pour extraire ces lignes.

Une auto-jointure non agrégée (ou non fenêtre/classement) forme une jointure croisée partielle et donne le carré des doublons pour n’importe quel jeu de clés. Y compris les non-doublons aussi. 1 x 1 = 1 après tout.

26voto

Brosto Points 4055

En général, si vous essayez simplement de voir quelles lignes ont des doublons pour ces valeurs...

11voto

Pablo Santa Cruz Points 73944

Une possibilité si votre serveur de base de données prend en charge les sous-requêtes :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X