题解 | #牛客每个人最近的登录日期(六)#

牛客每个人最近的登录日期(六)

http://www.nowcoder.com/practice/572a027e52804c058e1f8b0c5e8a65b4

写完了发现不是每天通过的题
是累计通过的题
那就join自己之后选日期小的累加好了
缝缝补补了属于是
应该有更好的方法

select a.u_n,
    a.date,
    sum(b.ps_num) as ps_num
from 
    (select 
        u.name as u_n,
        l.date,
        p.number as ps_num
    from login l
    join passing_number p
        on l.user_id = p.user_id
        and l.date = p.date
    join user u
        on l.user_id=u.id
    group by l.user_id, u.name, l.date) a
left join 
    (select 
        u.name as u_n,
        l.date,
        p.number as ps_num
    from login l
    join passing_number p
        on l.user_id = p.user_id
        and l.date = p.date
    join user u
        on l.user_id=u.id
    group by l.user_id, u.name, l.date) b
on a.u_n=b.u_n
where a.date>=b.date
group by a.u_n,a.date
order by a.date, a.u_n;
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务