select vip,sum(visit_time1) visit_nums,count(user_id) visit_users from (select vip,count(visit_time) visit_time1,vt.user_id user_id from visit_tb vt join uservip_tb ut on vt.user_id=ut.user_id group by vip,vt.user_id ) as A -- 找出每个用户对应的访问次数和对应的VIP会员等级 group by vip -- 按会员分组再总和 order by visit_nums desc,vip