SELECT date, case when SUM(new)=0 then 0 else sum(new) end AS new -- 不直接用sum(new)是因为会忽略0个新用户的情况 FROM ( SELECT login.user_id, t1.date1, login.date, COUNT(IF(DATEDIFF(login.date, t1.date1) = 0, 1, NULL)) AS new -- 判断当前登录日期是否为用户的最早登录日期。如果是(DATEDIFF(login.date, t1.date1) = 0),则计数为 1 FROM login LEFT JOIN...