Il y a beaucoup de problèmes ici. Vous construisez des chaînes SQL. Ne faites pas ça ! Utilisez plutôt des paramètres SQL ! Vous répétez inutilement beaucoup de code. Vous utilisez des tables de données, ce que j'éviterais, du moins en powershell. Vous ne réutilisez pas la connexion à la base de données.
Essayez toujours d'éviter les boucles avec une requête à l'intérieur lorsque vous travaillez avec SQL. Essayez de penser si vous pouvez réécrire le SQL à la place.
Essayez ce SQL :
SELECT
col2,
COUNT(<thePrimaryKeyColumnOfTheTable>)
FROM [master].[sys].[table_name]
GROUP BY col2
Cela devrait vous donner le nombre de toutes les différentes valeurs de col2.