# 对满足条件的日期groupby计数,当不满足条件是时不会被计数,即为0的日期会被省略SELECT a.date,COUNT(a.user_id) new
FROM(SELECT*,MIN(date)OVER(PARTITIONBY user_id) first_day FROM login) a
WHERE DATEDIFF(a.date,a.first_day)=0GROUPBY a.date;
# 对不满足条件的计数为0SELECT a.date,SUM(CASEWHEN DATEDIFF(date,first_day)=0THEN1ELSE0END)FROM(SELECT*,MIN(date)OVER(PARTITIONBY user_id) first_day FROM login) a
GROUPBY a.date