提供另一种解法:
- 先得到所有日期表
select distinct date from login
; - 然后左连接新用户首次登陆的日期表
(select user_id, min(date) first_date from login group by user_id)
; - 归类统计日期出现的次数.
MySQL代码如下:
select a.date, count(b.user_id) new from (select distinct date from login) a left join (select user_id, min(date) first_date from login group by user_id) b on a.date=b.first_date group by a.date order by a.date