我的mysql数据库中有一个表,它有两列:group和subgroup。见下文。
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查询,但是我无法获得预期的结果。我该如何解决这个问题?
答案 0 :(得分:121)
我认为您正在寻找:SELECT a, b, COUNT(a) FROM tbl GROUP BY a, b
答案 1 :(得分:7)
您必须对列,组和子组进行分组,然后使用聚合函数COUNT()
。
SELECT
group, subgroup, COUNT(*)
FROM
groups
GROUP BY
group, subgroup
答案 2 :(得分:6)
SELECT group,subGroup,COUNT(*) FROM tablename GROUP BY group,subgroup
答案 3 :(得分:0)
我想要另一种情况,每个组的sugroup计数,所以这是查询SELECT a,b,COUNT(distinct b)FROM tbl GROUP BY a