SQL Agrupar por / Contagem: Contar os mesmos valores em várias colunas?

Estou tentando descobrir como escrever uma consulta que conte valores em várias colunas, com a tabela de resultados tendo uma contagem em cada coluna para cada valor possível dequalque column.

Exemplo: Digamos que eu tenhominha mes

Source data table:

P1  P2  P3
-----------
a   b   a
a   a   a
b   b   b
a   b   b

Eu quero uma consulta que conte a e b em cada coluna, produzindo algo como:

Desired query output:

     P1  P2  P3
   -------------
a |  3   1   2
b |  1   3   2

Sei que posso fazer isso facilmente para uma única coluna com umgroup by:

select P1, count(*) as mycounts
from mytable
group by P1

Mas é possível fazer isso paracad coluna?

Estou usando o SQL Server 2008 (T-SQL). Agradecemos antecipadamente por qualquer ajuda

questionAnswers(4)

yourAnswerToTheQuestion