请参阅db table image。
我想为每个用户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的工作方式相同。
答案 0 :(得分: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
答案 1 :(得分:2)
您可以使用单个查询为每种类型实际获取它。像这样:
SELECT type, userid, COUNT(*) AS `n` FROM posts GROUP BY type, userid;
此查询将那些具有相同值BOTH类型和用户ID的行分组。
回声声明:
echo $q['userid'] .' has '. $q['n'] $q['type'] .' question';
答案 2 :(得分:1)
"SELECT userid, type, COUNT(*)
FROM {$db_prefix}posts
GROUP BY userid, type"