我在 MySQL 数据库中有一个表,我想从中选择唯一行数。我当前的表有 3 列,分别名为 user_id、image_id 和 is_like。我需要列出所有 user-id 计数等于 221 的用户。例如,对于特定用户 19,19 在 user_id 列中的计数必须为 221。我写了下面的代码,但它以错误的形式给出了我的答案:
SELECT * FROM `votes` WHERE COUNT(userid)=221 GROUP BY userid
它给我一个错误
1111 - Invalid use of group function.
最佳答案
你的查询应该是
SELECT * FROM `votes` GROUP BY userid HAVING COUNT(userid) = 221
您需要使用HAVING
,而不是WHERE
。
WHERE
子句过滤选择了哪些行。然后对行进行分组,然后为 COUNT
函数聚合数字(在 userid
列中)。
HAVING
类似于 WHERE
,只是发生在计算完 COUNT
值之后。
关于mysql - 根据计数标准在 MySQL 中选择行时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10188778/