select
    t1.log_day,
    t1.user_id,
    t1.hobby
from
    (
        select
            date (log_time) as log_day,
            lt.user_id,
            ut.hobby,
            rank() over (
                partition by
                    date (log_time)
                order by
                    log_time
            ) rank2
        from
            login_tb lt
            left join user_action_tb ut using (user_id)
    ) as t1
where
    t1.rank2 = 1