我遇到了一个我不知道如何解决的问题。这是我的表“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 |
+----+-----------------+------------+
我所追求的是一个查询,对于“一”中的每个唯一值,我都会给出“二”中唯一值的计数,即给我:狗 3(三个唯一名称)猫 2(两个唯一名称)鼠标 1 (一个唯一的名字)
我已经四处搜索,但不知道如何找到正确的答案,并得到了:
SELECT one, two, COUNT(two) AS nr FROM myTable GROUP BY one, two ORDER BY one;
任何建议都非常感谢!提前致谢。