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