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

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

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

/* SELECT date,COUNT(DISTINCT user_id) AS new FROM login WHERE id IN (SELECT id FROM( SELECT *, ROW_NUMBER()over(partition by user_id order by date) as rank_num from login)t2 WHERE t2.rank_num=1) GROUP by date ORDER BY date; */

/上面的做法没有把每天为0的统计上; 可以利用if_new打上标签,计算标签和/

SELECT t1.date,sum(t1.if_new) AS new FROM ( SELECT t2.*,(case when rank_num=1 then 1 else 0 end) as if_new FROM( SELECT *, ROW_NUMBER()over(partition by user_id order by date) as rank_num from login)t2 )t1 GROUP by t1.date ORDER BY t1.date;

全部评论

相关推荐

12-06 16:17
济宁学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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