MySQL: Conte pares exclusivos de valores em linhas
Estou com um problema que não sei resolver. Aqui está a minha tabela 'myTable':
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| one | varchar(10) | YES | | NULL | |
| two | varchar(10) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
mysql> SELECT * FROM myTable;
+----+-----------------+------------+
| id | one | two |
+----+-----------------+------------+
| 1 | cat | steve |
| 2 | cat | steve |
| 3 | cat | adam |
| 4 | dog | john |
| 5 | dog | adam |
| 6 | dog | alice |
| 7 | mouse | peter |
| 8 | mouse | peter |
| 9 | mouse | peter |
+----+-----------------+------------+
O que eu estou depois é uma consulta que para cada valor único em 'um' me dá a contagem de valores únicos em 'dois', ou seja, que me dá: cão 3 (três nomes únicos) gato 2 (dois nomes únicos) mouse 1 (um nome único)
Eu procurei por aí, mas não sei como encontrar a resposta certa e cheguei até onde:
SELECT one, two, COUNT(two) AS nr FROM myTable GROUP BY one, two ORDER BY one;
Qualquer sugestão muito apreciada! Desde já, obrigado.