解题思路

  1. 数据关联

    • order_tb 表与 uservip_tb 表通过 user_id 进行左连接,以获取每个订单的会员等级信息。
  2. 统计订单总额

    • 使用 SUM 函数计算每个会员等级的订单总额。
  3. 处理无订单的会员等级

    • 使用左连接确保所有会员等级都在结果中,即使某些等级没有订单。
  4. 排序

    • 按照订单总额降序排序。

SQL 查询

SELECT 
    u.vip,
    COALESCE(SUM(o.order_price), 0) AS order_total
FROM 
    uservip_tb u
LEFT JOIN 
    order_tb o ON u.user_id = o.user_id
GROUP BY 
    u.vip
ORDER BY 
    order_total DESC;