Hier die Rohdaten haben:Ich muss in einer Situation, aus einer Tabelle auswählen, in dem eine Spalte nicht Duplikate
leasetenantssn | houseid
641078001 | 100
699061306 | 100
734296097 | 200
788930793 | 200
699061306 | 200
641078001 | 300
674926108 | 300
709106079 | 400
641078001 | 400
664067824 | 400
709106079 | 500
709106079 | 600
709106079 | 600
699061306 | 800
641078001 | 1000
699061306 | 1000
690260126 | 1000
690260126 | 1100
Ich versuche, alle SSNs, die mehr als 3 einzigartige houseids an sie angehängt.
Mein erster Versuch war einfach:
Select leasetenantSSN from tenants group by leasetenantSSN having count(*) > 3;
Und das zurück 709106079, 641078001, 699061306. Aber das Problem ist, 709.106.079 hat nur zwei einzigartige houseids, obwohl sie drei houseids insgesamt haben.
Sie sollten nicht zurückgegeben worden sein.
Das war mein nächster Versuch:
Select distinct on (houseid) leasetenantSSN from tenants group by houseid having count(*) > 3;
Aber dies einen Fehler wirft, weil es leasetenantSSN will, indem sie in der Gruppe sein, aber ich kann das nicht tun, weil dann wird es nichts zurück.
Also ich weiß nicht, was ich jetzt tun soll.
Prost, ich hätte gedacht, eine verschachtelte Abfrage zu verwenden. Und keine Sorge, diese SSNs sind komplett erfunden. –
Froh, das zu hören! – Gab