SELECT 
    AVG(score)
FROM(
    SELECT DISTINCT 
        rt.rec_user, ua.score
    FROM 
        recommend_tb rt 
    LEFT JOIN 
        user_action_tb ua ON rt.rec_user=ua.user_id
    WHERE
        rt.rec_info_l=ua.hobby_l
)
    AS avg_score

一开始犯了个错误,主查询写成SELECT AVG(ua.score),后来改为AVG(score)就可以通过。原因是在主查询中没有原来的两个表了,是使用子查询的新表,所以要使用子查询暴露出来的列名。