我有两张 table :
用户表
用户列表
故事
故事列表 - 每个用户多个故事
我想知道用户的平均故事数 . (不是特定用户,适用于所有用户)
预期结果:每个用户平均故事数为2.3
尝试:
选择avg(w)from(select count(distinct user_id)as w from story group by user_id)a;上面跑,但似乎不正确
也:
SELECT user_id,(SELECT COUNT(*)FROM stories w WHERE w.user_id = u.user_id)作为TotalStories FROM user u;
返回每个用户的平均故事,而非整体平均值
2 回答
首先,您需要知道每个用户的故事数量:
然后只需应用
avg
:内部查询执行每用户故事计数 . 外部查询计算总用户数,总故事数和每个用户平均数的故事数 .