with t as (
    select t.uid,level,register_time,start_time,score,tag
    from user_info t join examination_info t1 join exam_record t2 on t.uid = t2.uid and t1.exam_id = t2.exam_id
    where job = '算法'
)
select uid,level,register_time,max_score
from 
(select *,dense_rank()over(order by max_score desc) as rn
from
(select uid,level,register_time,max(score) as max_score
from t
WHERE uid in (select uid from t where datediff(date(register_time),date(start_time))=0 and tag='算法')
group by uid) t1) t2
where rn BETWEEN 7 and 9 and max_score is not null