Extraire les doublons dans une colonne et d'inscription et compter SQL (DB2)
J'ai une table appelée ServiceRequest. Voir ci-dessous certains des enregistrements et des colonnes.
RowID Type Area IntID OwnerBussUnit
1 AB DD1 1234 Abc
2 AB EE2 7635 Abc
3 CD DD1 1234 Bde
4 FE FF3 2423 Gte
5 AB DD1 1234 Abc
6 CD DD1 6363 Sde
7 TT QQ6 7635 Sde
8 AB DD1 9998 Dfr
9 AB DD1 9998 Red
1) LES ÉNUMÉRER
Je voudrais la liste des enregistrements qui ont une valeur en double dans le IntID colonne. Chaque enregistrement dans le résultat devrait avoir:
- #IntID: le nombre de fois que le double IntID est compté (donc peut être plus de deux fois)
- #GroupBy: le nombre de fois que le double IntID est compté pour la combinaison des colonnes "Type" et "Zone"
- SameOwner; où, dans le groupement de Type et de la Région, OwnerBussUnit a la même valeur
- DiffOwner; où, dans le groupement de Type et de la Région, OwnerBussUnit n'a pas la même valeur de la Commande par IntID, RowID
Le résultat que je cherche, c'est comme suit:
IntID RowID Type Area #IntID #GroupBy SameOwner DiffOwner
1234 1 AB DD1 3 2 Yes No
1234 3 CD DD1 3 1 Yes No
1234 5 AB DD1 3 2 Yes No
7635 2 AB EE2 2 1 No Yes
7635 7 TT OO6 2 1 No Yes
9998 8 AB DD1 2 2 No Yes
9998 9 AB DD1 2 2 No Yes
2) LES COMPTER
Compter en double IntID regroupés par Type et par Région.
Donc le résultat ressemblerait à:
Type Area #IntID
AB DD1 4
CD DD1 1
AB EE2 1
TT OO6 1
Comment puis-je le faire en SQL (DB2)?
quel avez-vous essayé jusqu'à présent?
OriginalL'auteur user2992366 | 2013-11-14
Vous devez vous connecter pour publier un commentaire.
numéro 2).
OriginalL'auteur Peter Miehle
1)
Nous avons d'abord besoin de trouver les valeurs qui sont dupliqués, puis des lignes avec ceux IntID valeurs, profitez de notre regroupement par Zone & Type, puis de les combiner cette information avec des lignes individuelles. Les Expressions de Table communes (expressions de table communes) simplifier le travail des choses dans les stades comme ça. Dans cet exemple,
i
va se référer à la première sous-requête où l'on trouve ce qui IntID ont dup, etg
la seconde où nous obtenons nos infos pour les groupes.2)
Maintenant que nous savons comment trouver des doublons, on peut appliquer cela à la le deuxième problème, faisant d'elle une tâche relativement simple.
OriginalL'auteur WarrenT