with
t1 as(
    select
        vip,
        count(user_id) as visit_nums,
        count(distinct user_id) as visit_users
    from
        visit_tb left join uservip_tb using(user_id)
    group by
        vip
    order by
        visit_nums desc,
        visit_users desc
)

select * from t1