【发布时间】:2013-06-03 10:53:28
【问题描述】:
我遇到了一个我不知道如何解决的问题。这是我的表“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(三个唯一的名字) cat 2(两个唯一名称) 鼠标 1(一个唯一的名称)
我已经四处寻找,但不知道如何找到正确的答案,并且得到了:
SELECT one, two, COUNT(two) AS nr FROM myTable GROUP BY one, two ORDER BY one;
非常感谢任何建议!提前致谢。
【问题讨论】: