根据计数条件在MySQL中选择行时出错

时间:2012-04-17 09:40:35

标签: mysql select count group-by

我在MySQL数据库中有一个表,我想从中选择一个唯一的行数。我当前的表有3列名为user_id,image_id和is_like。我需要列出所有的 用户id的计数等于221的用户。例如,对于特定用户19,在user_id列中计数19必须为221。我编写了以下代码,但它在表单中给出了错误的答案:

SELECT * FROM `votes` WHERE COUNT(userid)=221 GROUP BY userid

它给了我一个错误

  

1111 - 无效使用群组功能。

2 个答案:

答案 0 :(得分:2)

您的查询应该是

SELECT * FROM `votes` GROUP BY userid HAVING COUNT(userid) = 221

您需要使用HAVING,而不是WHERE

WHERE子句筛选选择的行。然后对行进行分组,然后将数字(userid列)聚合为COUNT函数。

HAVINGWHERE类似,只是在计算出COUNT值后才会发生。

答案 1 :(得分:0)

我认为你所寻找的是一个HAVING条款。谷歌可以为你做到这一点!