#标记出准确的用户,再对准确的用户求平均分 select sum(if(zq > 0 ,score,0)) / sum(if(zq>0,1,0)) avg_score from( select rec_user, score, sum(if(rec_info_l = hobby_l,1,0)) zq from recommend_tb r left join user_action_tb u on rec_user = user_id group by rec_user,score ) t1