• 对用户开窗函数,组内对date排序,date_rank=1的为当日新用户
  • 再对date分组,聚合函数求和,date_rank=1的计为1,其它计为0
select t.date,sum(if(t.date_rank=1,1,0)) new
from (
select user_id,date,rank() over(partition by user_id order by date) date_rank
from login) t
group by t.date;