使用关联查询:
UPDATE visitors
SET last_30_day_sessions = ( SELECT count(session_ID)
FROM sessions
WHERE visitors.visitor_ID = sessions.visitor_ID
AND sessions.session_timestamp >= NOW() - INTERVAL 30 DAY
)
作为奖励,如果你想使用join,你需要先计算总数
UPDATE visitors V
JOIN (SELECT visitor_ID, count(session_ID) session_count
FROM sessions
WHERE session_timestamp >= NOW() - INTERVAL 30 DAY
GROUP BY visitor_ID
) s
ON v.visitor_ID = s.visitor_ID
SET v.last_30_day_sessions = s.session_count