t.id_ as id
, t.evaluation_difficulty_ as evaluationDifficulty
, t.create_time_ as createTime
, t.create_by_ as createBy
, t.update_time_ as updateTime
, t.update_by_ as updateBy
select
a.activity_id_ as activityId,
a.evaluation_id_ as bizId,
b.user_id_ as userId,
c.id_ as rewardId
from (
select
a.activity_id_,a.evaluation_id_,a.score_,min(b.create_time_) as create_time_
from(
select
activity_id_,evaluation_id_, max(score_) as score_
from activity_evaluation_record where activity_id_ = #{activityPlanId} and score_ is not null
group by activity_id_,evaluation_id_
) a
left join activity_evaluation_record b on a.activity_id_ = b.activity_id_ and a.evaluation_id_ = b.evaluation_id_ and a.score_ = b.score_
GROUP BY a.activity_id_,a.evaluation_id_,a.score_
) a
left join activity_evaluation_record b
on a.activity_id_ = b.activity_id_ and a.evaluation_id_ = b.evaluation_id_
and a.score_ = b.score_ and a.create_time_ = b.create_time_
left join activity_plan_reward c on a.activity_id_ = c.activity_id_