select
    log_day,
    user_id,
    hobby
from
    (
        select
            *
        from
            (
                select
                    date(log_time) as log_day,
                    user_id,
                    rank() over (
                        partition by
                            date(log_time)
                        order by
                            log_time
                    ) as rn
                from
                    login_tb
            ) t
        where
            t.rn = 1
    ) t
    left join user_action_tb using (user_id)
order by
    log_day