小编Flo*_*ell的帖子

mysql 具有...> avg() 无法按预期工作

我创建了两个视图来帮助计算 user_diary_number,然后选择日记数 > 用户总 user_diary_number 平均值的用户。

两个视图如下:

create view user_diary_number as
(
select user_id,count( distinct diary_id ) as diary_num
from user_diary

group by user_id
);
Run Code Online (Sandbox Code Playgroud)

第二次使用havingand avg

create view hw_diary as
(
select u.user_id, u.realname, ud.diary_num, school.school_name
from (user as u cross join user_diary_number as ud on u.user_id = ud.user_id )cross join school on u.school_id = school.school_id
having diary_num > avg(diary_num)

);
Run Code Online (Sandbox Code Playgroud)

现在的问题是什么,第二个视图只有 1 行结果。当然,我们有超过 1 个用户的日记数量 > 平均 diary_num。事实上,我总共有 251 篇日记和 103 个用户。一些用户有9、4、5本日记。但结果只有 1 个用户拥有 3 …

mysql average having

1
推荐指数
1
解决办法
3563
查看次数

标签 统计

average ×1

having ×1

mysql ×1