Dúvida em SQL?!

Tenho a tabela abaixo, de avaliação de hoteis.

Nessa tabela, cada campo recebe a avaliação em OTIMO, BOM, REGULAR e NÃO SEI INFORMAR.

Eu estou com dúvida no select! Quero fazer um SELECT para pegar o número de OTIMO, BOM , REGULAR e NÃO SEI INFORMAR de cada campo e no final mostrar :

MATRICULA HOTEL : 1

                         qualiAlimen 
                         --------------

OTIMOS - 3
REGULAR - 2
NÃO SEI… - 1

Alguem pode me ajudar nesse select?

Se eu entendi o que você quer, o código abaixo deve resolver.

SELECT hotel_matricula, qualiAlimen, count(*) FROM Avaliacao
GROUP BY hotel_matricula, qualiAlimen

Bacana e isso mesmo.

Mas tem como eu fazer isso para todos os campos?

SELECT hotel_matricula, qualiAlimen, qualiQuarto, servQuarto, count(*) FROM Avaliacao where hotel_matricula=2 GROUP BY hotel_matricula, qualiAlimen,qualiQuarto,servQuarto

Eu fiz assim e ele pega só do ultimo campo servQuarto.