题解 | 推荐内容准确的用户平均评分

推荐内容准确的用户平均评分

https://www.nowcoder.com/practice/2dcac73b647247f0aef0b261ed76b47e

select avg(only) from (
select 
a.user_id,a.hobby_l,max(score) as  only
from user_action_tb a
join recommend_tb b
on a.user_id=b.rec_user
and a.hobby_l=b.rec_info_l

group by a.user_id,a.hobby_l
)t

细看了下就是根据id 和爱好两个条件关联,关联到的就是匹配成功的,需要注意的是可能多次匹配,题目中给的是只求一次,所以用max() 来取唯一值。有个小问题如果一个用户有多个爱好,就会炸,用distinct会更加安全一些,但是max效率更高。

左链接也可以 left join where b.time is not null 其实就是join

全部评论

相关推荐

03-10 11:23
门头沟学院 Java
鹿LF:计算机面试就跟数学题一样,没什么实际价值,但只能这么筛选,本质是考察你的努力,智力和学习能力
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务