SQL 查询分组后的平均值

Average after group by in SQL query

select avg(select count(aid)
           from athlete
           group by codepays)

我收到“多行错误”。 我如何从我的拳头 select 获得结果的平均值?

您可以使用除法来做到这一点:

select count(aid) / count(distinct codepay)
from athlete;

不需要子查询。

(如果 codepay 实际上可以是 NULL,则需要调整算法。)

您需要使用 table 表达式(子查询)。

例如:

select avg(cnt)
from (
  select count(aid) as cnt
  from athlete
  group by codepays
) x