MySQL: agrupe e conte vários campos

Se eu tiver um único campo, digamos, project_id onde eu quero contar as ocorrências, eu faria algo como:

select project_id, count(project_id) as count from tbl group by project_id, order by count desc 

E se eu quiser contar as ocorrências de uma combinação de dois campos na mesma tabela, ou seja, conte o número de linhas onde a combinação de project_id e service_id é única?

Então, então tenho registros na minha mesa como:

 project_id service_id 1 1 1 2 1 2 1 2 1 2 1 3 1 4 1 4 1 4 I would want the result of my query to be something like: project_id service_id count 1 1 1 1 2 4 1 3 1 1 4 3 

 select project_id, service_id, count(*) as count from tbl group by project_id, service_id order by count(*) desc 

Apenas adicione service_id ao seu group by e select lista. Isso deve resolver.

EDITAR –

Como por comentário de @Rajah , parece que, para o seu resultado esperado, você precisa usar

 order by project_id asc, service_id asc