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

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

http://www.nowcoder.com/practice/ea0c56cd700344b590182aad03cc61b8

select a1.date, ifnull(round(c1/c2,3),0) from
(select r1.date, c1 from
	(select t.date, count(l.user_id) c1 from 
		(select r1.date, r2.user_id from (select distinct date from login) r1 
 left join (select user_id, min(date) date from login group by user_id) r2 
	on r1.date=r2.date) t 
	left join login l on t.user_id=l.user_id
	where l.date=date_add(t.date, interval 1 DAY)
	group by t.date) r2
right join (select distinct date from login) r1 on r2.date=r1.date) a1
join (select l1.date, count(l2.user_id) c2 from (select distinct date from login) l1
left join (select user_id, min(date) date from login group by user_id) l2
on l1.date=l2.date
group by l1.date) a2 
on a1.date=a2.date;
全部评论

相关推荐

迷茫的大四🐶:干脆大厂搞个收费培训得了,这样就人均大厂了
点赞 评论 收藏
分享
12-23 18:51
中南大学 Java
唉又萌混过关:是不是那种收钱盖实习章的机构?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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