select date(log_time) as log_day, a.user_id, b.hobby from ( select user_id, log_time, dense_rank() over(partition by date(log_time) order by log_time asc) as log_time_rank from login_tb ) as a left join user_action_tb as b on a.user_id=b.user_id where log_time_rank in (1) order by log_day;