mysql - 根据计数标准在 MySQL 中选择行时出错

标签 mysql select count group-by

我在 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/

相关文章:

select - golang : channel in select statement is only receiving sometimes (? ??)

java - 信号量和 Java 计数

MySQL 根据复杂连接的计数更新列

java - 查找字符串中某个单词的长度,并查找有多少个单词具有该长度。 ( java )

python - 在sqlalchemy中强制内部加入多对多关系

mysql - 我应该如何为小说阅读网站构建 SQL 数据库?

创建多对多关系时出现 MySQL 错误 #1215

php - 我该如何处理 mysql 的 "too many connections"问题?

Mysql - 在选择查询结果中返回表名

reactjs - 警告 : Use the 'defaultValue' or 'value' props on <select> instead of setting 'selected' on <option>