select registration.user_id,ifnull(t.num,'none') as number
from registration left join
(SELECT a.user_id,COUNT(a.user_id) as num
FROM logins a,registration b
WHERE a.user_id=b.user_id
AND a.login_date <DATE_ADD(b.registration_date, INTERVAL 7 DAY)
GROUP BY a.user_id) as t
on registration.user_id = t.user_id;
按照你的思路,函数名变了也不对,因为没有考虑none的情况,需要再嵌套一层查询,把none的用户id找出来赋值。