【发布时间】:2011-12-08 04:56:17
【问题描述】:
我有两张桌子:
用户表
用户列表
故事
故事列表 - 每个用户多个故事
我想知道用户拥有的平均故事数。 (不是特定用户,适用于所有用户)
预期结果:每位用户平均 2.3 个故事
试过了:
select avg(w) from (select count(distinct user_id) as w from stories group by user_id) a; 以上运行但似乎不正确
还有:
SELECT user_id, (SELECT COUNT(*) FROM stories w WHERE w.user_id = u.user_id) as TotalStories FROM user u;
返回每个用户的平均故事,而不是总体平均
【问题讨论】:
-
select avg(
w) from (select count(distinct user_id) as w from stories group by user_id) a; -
以上运行但似乎不正确
-
SELECT user_id, (SELECT COUNT(*) FROM stories w WHERE w.user_id = u.user_id) as TotalStories FROM user u;
-
通过编辑您的问题将其放入您的问题中,以便每个成员都可以查看。
-
以上不做平均只返回整个用户列表的平均值
标签: mysql sql aggregate-functions