select log_day, user_id, hobby from (select log_day, user_id, hobby, rank()over(partition by log_day order by time) as r from (select date(log_time) as log_day, time(log_time) as time, user_id, hobby from login_tb left join user_action_tb using(user_id)) a) b where r = 1 order by log_day