Habe leider keine Zeit um dir was auf dem Silbertablett zu servieren, es ist Monatsende und die Jungs vom Trading Desk geben einen aus (noch 2 Stunden bis dahin). :-)
Aber is doch einfach .. ein Query SELECT Id, COUNT(*) AS COUNTED.... GROUP BY Id
Darauf einen CROSS JOIN mit sich selbst SELECT FROM (letzte abfrage) a, (letzte abfrage) b WHERE NOT a.Id = b.Id
das verbastelst du verschachtelt in eine korrelierende unterabfrage wo du die anzahl der uebereinstimmenden Attribute ermittelst und mit a.COUNTED und b.COUNTED vergleichst
Schreib dir einfach alle einzelnen abfragen erstmal separat auf und dann setzt du die zusammen.
Cheers, Frank