Det finns många problem här. Du bygger SQL-strängar. Gör inte det här! Använd SQL-parametrar istället! Du upprepar en hel del kod i onödan. Du använder datatabeller, vilket jag skulle undvika, åtminstone i powershell. Du återanvänder inte databasanslutningen.
Försök alltid verkligen att undvika loopar med en fråga inuti när du arbetar med SQL. Försök och fundera på om du kan skriva om SQL istället.
Prova denna SQL:
SELECT
col2,
COUNT(<thePrimaryKeyColumnOfTheTable>)
FROM [master].[sys].[table_name]
GROUP BY col2
Det borde ge dig räkningen av alla olika värden för col2.