SQL - 在 MySQL 中进行聚合
我正在使用 MySQL 并编写此查询:
select gauno, count(potno)
from druide_potion
group by gauno
having count(potno) = min(count(potno))
但是 Mysql 说:“#1111 - 组函数的使用无效”。
这个请求哪里不正确? (当我删除 HAVING 时,我没有出现错误,但也没有达到预期的结果)。
谢谢。
I'm using MySQL and writing this query :
select gauno, count(potno)
from druide_potion
group by gauno
having count(potno) = min(count(potno))
But Mysql says : "#1111 - Invalid use of group function".
In what is this request incorrect? (When I remove the HAVING, I haven't the error but haven't the result expected as well).
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在having 子句中,每个聚合仅返回一个值,因此请求
count()
的min()
没有任何意义。您可能正在寻找类似这样的内容:
这将返回所有具有非空
potno
列且行数最少的gauno
。In the having clause, each aggregate returns only one value, so requesting the
min()
ofcount()
makes no sense.You're probably looking for something like this:
This would return all
gauno
with the minimum amount of rows with a non-nullpotno
column.正确的 ANSI 查询
Proper ANSI query