このような "posts"というSQLテーブルがあります。
id | category
-----------------------
1 | 3
2 | 1
3 | 4
4 | 2
5 | 1
6 | 1
7 | 2
各カテゴリ番号はカテゴリに対応しています。各カテゴリが投稿に表示された回数をすべて1つのSQLクエリでカウントするにはどうすればよいでしょうか。
例として、そのようなクエリは次のようなシンボリック配列を返すかもしれません:(1:3, 2:2, 3:1, 4:1)
私の現在の方法は、SELECT COUNT(*) AS num FROM posts WHERE category=#
のように、可能な各カテゴリに対してクエリを使用し、そして戻り値を最終的な配列に結合することです。しかし、私は1つだけのクエリを使用するソリューションを探しています。
SELECT
category,
COUNT(*) AS `num`
FROM
posts
GROUP BY
category