题解 | 推荐内容准确的用户平均评分
推荐内容准确的用户平均评分
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
