MYSQL:用户ID的计数类型

时间:2012-11-29 09:18:46

标签: mysql

请参阅db table image。

enter image description here

我想为每个用户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的工作方式相同。

3 个答案:

答案 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"