0

dbテーブルイメージを参照してください。

ここに画像の説明を入力してください

ユーザーIDごとに値「Q」のタイプをカウントしたい。私が書いたものが正しいかどうかのどちらかで私は混乱しています。

"SELECT COUNT(type),userid FROM '$db_prefix'posts WHERE type=Q GROUP BY userid";

したがって、以下のようにxユーザーIDのQの総数が表示されます。

userid 1 has 25 Q
userid 2 has 11 Q
....

AとCの場合も同じですが、Qの場合は、AとCの場合と同じように機能すると思います。

4

3 に答える 3

3

このクエリは問題ありません:

select count(type), userid
from posts
where type='Q'
group by userid

「**Q *」の引用符を忘れました

このクエリは、すべての文字を一度に処理します。

select userid, type, count(*) as count
from posts
group by userid, type
于 2012-11-29T09:41:17.033 に答える
2

実際には、単一のクエリでタイプごとに取得できます。このような:

SELECT type, userid, COUNT(*) AS `n` FROM posts GROUP BY type, userid;

このクエリは、タイプとユーザー ID の両方が同じ値を持つ行をグループ化します。

エコー ステートメント:

echo $q['userid'] .' has '. $q['n'] $q['type'] .' question';

于 2012-11-29T09:23:17.147 に答える
1
"SELECT userid, type, COUNT(*) 
FROM {$db_prefix}posts 
GROUP BY userid, type"
于 2012-11-29T09:21:06.060 に答える