我正在使用MySQL,我需要创建必须使用许多聚合函数的长命令。那是我的代码......
select count(field) from table group by field order by count(field) desc
我需要SUM或AVG这个,我还不知道,但它无关紧要。当我尝试这样做时:
select avg(count(field)) from table group by field order by count(field) desc
我收到错误。是在一个查询中使用这些函数的方法还是可以将它切片?
错误是:#1111 - 无效使用群组功能
答案 0 :(得分:1)
一种方法是子查询:
select avg(cnt)
from (select count(field) as cnt
from table
group by field
) t;
更简单的方法是直接进行计算:
select count(*) / count(distinct field)
from table;