题解 | #牛客每个人最近的登录日期(六)#
牛客每个人最近的登录日期(六)
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;
查看12道真题和解析