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

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

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

1.获得每个用户的第一次登陆时间
select user_id,min(date) first_date
from login
group by user_id;t1
2.用t1获得每个登陆时间的次数,即该登陆时间的新增用户
select distinct first_date,count(first_date) new
from (select user_id,min(date) first_date
from login
group by user_id)t1
group by first_date;t2
3.用t2与原表右连接,以原表出现的日期为第一列,第二列查找t2中对应日期的新增用户,用IFNULL判断,如果查不到取0,最后根据原表的日期进行排序
select distinct login.date,ifnull(new,0)
from (select distinct first_date,count(first_date) new
from (select user_id,min(date) first_date
from login
group by user_id)t1
group by first_date)t2
right join login
on login.date=t2.first_date
order by login.date

全部评论

相关推荐

纯真的河老师在喝茶:第一个是这个时间点岗位少,第二个是这个简历重复度太高了,10个有9个简历差不多的
点赞 评论 收藏
分享
12-20 11:21
复旦大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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