Highschooler(ID , name , grade );
Friend(ID1 , ID2 );
Likes(ID1 , ID2 );
我想知道每个学生的平均朋友数量是多少?
答案 0 :(得分:0)
select avg(count)
from (
select count(ID2) as count
from Friend
group by ID1
) as FriendCount;
我认为你所挣扎的部分是FROM
子句中的内部查询。
答案 1 :(得分:0)
如果您的意思是基于id1
的平均数,那么您可以这样做:
select count(*) / count(distinct id1) as avg_count
from friend;
我不是100%确定这是正确的解决方案。你可能想要:
select count(*) / count(distinct id1) as avg_count
from (select id1, id2
from friend
union all
select id2, id1
from friend
) f;
这取决于友谊在数据中是否是互惠的。