select date,count(last_date is null or null) new from ( select t1.user_id,t1.date,t2.date last_date from login t1 left join login t2 on t1.user_id =t2.user_id and t1.date>t2.date )temp group by date order by date
主要是temp这个联连接查询,他能直接给出当前日期有没有往日登录的记录, t1.user_id =t2.user_id
and t1.date>t2.date