2012-04-17 52 views
1

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

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

它给了我一个错误

1111 - 无效使用组功能。

+0

你想达到什么,你的问题是相互矛盾的。 – 2012-04-17 09:58:42

回答

2

您的查询应该是

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

您需要使用HAVING,不WHERE

WHERE子句过滤选择哪些行。然后对这些行进行分组,然后这些数字(在userid列中)是COUNT函数的总和。

HAVING就像WHERE,只有在计算出COUNT值后才会发生。

+0

按用户ID分组将不会给COUNT(用户ID)为221。所以你的querry结果将是空的。 – 2012-04-17 09:58:14

0

我认为你要找的是一个HAVING子句。你可以谷歌!