select vip, IFNULL(sum(order_price),0) as order_total # 注意,如果不用IFNULL or COALESCE, 普通会员会返回None,所以用函数或者CASE WHEN来解决 from order_tb o right join uservip_tb u on o.user_id = u.user_id # 注意,因为要求如果存在某一会员等级的用户没有下订单也需要输出该会员等级,订单总额记录为0,所以不能用内连接,要用外连接 group by vip order by order_total desc