所以我有这个要求,这只需要在2个表,wall_posts和注释之间发生:
这是我到目前为止所做的:
SELECT
DISTINCT user_id,
COUNT(post_id) as pc
FROM diaries_posts
WHERE post_date < DATE_SUB( NOW( ) , INTERVAL -6 MONTH )
GROUP BY user_id
其中我很确定平均部分(第二部分)是错误的,因为我没有得到每个DISTINCT_USER的AVG_NO_OF_POST,而是每个DISTINCT_USER得到TOTAL_NO_OF_POSTS。任何想法?
此外,我想知道第三部分是否会成为整个表的重复值,或者是否存在我缺少的此要求中的某些内容。墙贴的平均回复数量是单一值,不是吗?
感谢您的帮助。
答案 0 :(得分:0)
select user_id, AVG(post_id) as pc
from diaries_posts
where post_date < DATE_SUB(NOW(), INTERVAL - 6 MONTH)
group by user_id
答案 1 :(得分:0)
试试这个:
SELECT count(DISTINCT user_id) as NumUsers,
count(*) / COUNT(distinct post_id) as AvgPostsPerUsers
FROM diaries_posts dp
WHERE post_date < DATE_SUB( NOW( ) , INTERVAL -6 MONTH );
这给出了前两个答案。你的问题没有解释comments
的来源,所以我忽略了第三部分。