SQL热题268难!!!

要求是求出每个日期新用户的登录个数

我们需要先判断用户是否是新用户,是则计数,否则不计数

我们想到case when ... then ... else ... end 语句,当用户所在日期是最小日期,说明是新用户;

代码如下:

select date, count(

    case when (user_id, date) in (select user_id, min(date) from login group by user_id) then 1 else null end

) from login

group by date

order by date ASC

#笔试#
全部评论

相关推荐

评论
1
2
分享

创作者周榜

更多
牛客网
牛客企业服务