94

mysql dbに、groupとsubgroupの2つの列を持つテーブルがあります。下記参照。

 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 に答える