1

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

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

它给了我一个错误

1111 - 组功能的使用无效。

4

2 回答 2

2

您的查询应该是

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

你需要使用HAVING,而不是WHERE

WHERE子句过滤选择了哪些行。然后对行进行分组,然后userid为函数聚合数字(列中)COUNT

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

于 2012-04-17T09:43:41.507 回答
0

我认为您正在寻找的是 HAVING 子句。你可以用谷歌搜索!

于 2012-04-17T09:45:14.497 回答