给每个客户评一个运营等级 level。
先算每个客户的已付款订单数 paid_orders:status = 'paid' 的订单数;没有已付款订单的客户(包括从没下过单的)记为 0。
然后按下面的顺序逐条检查规则,命中第一条就停:
paid_orders = 0→inactivetier = 'gold',或paid_orders ≥ 5→viptier = 'silver'且paid_orders ≥ 2→core-
其余 →
regular -
规则的先后很重要:一个 gold 客户如果没有已付款订单,等级是
inactive而不是vip。 tier为 null 的客户不是 gold 也不是 silver,但仍可能因订单数 ≥ 5 而成为vip。- 客户表里的每个客户都要输出一行;
orders中客户表里没有的customer_id(以及 null)忽略。
输入
customers(customer_id, name, email, city, signup_date, tier)orders(order_id, customer_id, order_ts, status, channel)
输出
列为 customer_id, tier, paid_orders, level,paid_orders 为整数,行顺序不限。