题解 | SQLW18 统计各等级会员用户下订单总额
WITH t1 AS (
SELECT b.vip,
a.order_price
FROM order_tb a
LEFT JOIN uservip_tb b
ON a.user_id = b.user_id
),
t2 AS (
SELECT vip
FROM uservip_tb
GROUP BY vip
),
t3 AS (
SELECT vip,
SUM(order_price) AS order_total
FROM t1
GROUP BY vip
),
t4 AS (
SELECT t2.vip,
IFNULL(t3.order_total,0) AS order_total
FROM t2
LEFT JOIN t3
ON t2.vip = t3.vip
ORDER BY order_total DESC
)SELECT * FROM t4;
# 这道题的关键在于需要先建立一个维度表!
