Det bör inte köra två gånger. Kanske du sätter ett extra/in efter queryen som skulle gör det att köra två gånger.
Också jag tror denna är en enklare version av vad du gör:
vald pyid från pca_workgruppen vid pyid som har räkning (1) > 1;
Det distinkt är inte nödvändigt, dem är redan distinkt på grund av gruppen by.