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
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