使用开窗函数

max() over(),可以统计出每一天

sum() over(),可以统计出截止到每一天的通过的题目数量和

select
    name u_n,
    last_date date,
    pas_number ps_num
from(
    select
        p.user_id,
        u.name,
        sum(p.number) over(partition by p.user_id order by p.date) pas_number,
        max(p.date) over(partition by p.user_id order by p.date) last_date
    from
        passing_number p
    join user u
    on p.user_id = u.id
)t1
order by last_date,name