select log_day
,t.user_id user_id
,hobby 

from(
select date(log_time) log_day
,user_id
,rank() over(partition by date(log_time) order by log_time) ranks
from login_tb
) t
left join user_action_tb t2
on t.user_id=t2.user_id

where ranks=1
order by log_day;

min()会返回并列最小的多条数据

先left join再子查询查rank和hobby也可以