94

我的 mysql 数据库中有一个表,它有两列:组和子组。见下文。

 group, subGroup
 grp-A, sub-A
 grp-A, sub-A
 grp-A, sub-B      
 grp-B, sub-A
 grp-B, sub-B
 grp-B, sub-B

我正在尝试获取每个唯一夫妇组/子组的记录数。

这是我所期望的:

group, subGroup, count
grp-A, sub-A, 2
grp-A, sub-B, 1
grp-B, sub-A, 1
grp-B, sub-B, 2

在阅读了一些帖子后,我尝试了几个使用 group by、count() 的 sql 查询,但我没有设法得到预期的结果。我怎样才能解决这个问题?

4

3 回答 3

151

我想你正在寻找:SELECT a, b, COUNT(a) FROM tbl GROUP BY a, b

于 2012-04-30T09:05:38.790 回答
9
SELECT group,subGroup,COUNT(*) FROM tablename GROUP BY group,subgroup
于 2012-04-30T09:07:22.227 回答
7

您必须对列、组和子组进行分组,然后使用聚合函数COUNT()

SELECT
  group, subgroup, COUNT(*)
FROM
  groups
GROUP BY
  group, subgroup
于 2013-05-16T08:58:20.883 回答