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

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

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

首先提取出每个用户第一次登陆的日期:
SELECT user_id, MIN ( date ) FROM login GROUP BY user_id
用case when的条件,在原有login表后面多加一列,如果 (user_id, date) 在上述的子查询中,则计1,否则0;
最后sum加和,即可得到每个日期下的新用户数量

SELECT DATE,
	SUM (
		(CASE WHEN ( user_id, date ) IN ( SELECT user_id, MIN ( DATE ) FROM LOGIN GROUP BY user_id ) THEN	1 ELSE 0 
			END) 
		) AS NEW 
	FROM LOGIN 
GROUP BY DATE;





全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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