排名存在并列情况,使用dense_rank()

select
    log_day,
    tb1.user_id,
    hobby
from
    (
        select
            date (log_time) as log_day,
            user_id,
            dense_rank() over (
                partition by
                    date (log_time)
                order by
                    time(log_time)
            ) as rk
        from
            login_tb
    ) as tb1
    left join user_action_tb tb2 on tb1.user_id = tb2.user_id
where
    rk = 1