SELECT visitor_info.user_id, water_usage.usage_id, water_usage.start_time, MIN(ABS(TIMESTAMPDIFF(SECOND,visitor_info.enterance_time, water_usage.start_time))) AS diff
From visitor_info INNER JOIN water_usage ON visitor_info.user_id <> water_usage.user_id AND visitor_info.enterance_time < water_usage.start_time
GROUP BY water_usage.usage_id