-- 用 CTE 表达式分步写很清晰 WITH total_sales AS( SELECT merchant_id, SUM(sale_amount) AS total_sales_amount FROM sales_underline GROUP BY merchant_id ), total_refund AS( SELECT merchant_id, SUM(refund_amount) AS total_refund_amount FROM refunds_underline GROUP BY merchant_id ), average_satisfaction_score AS( SELECT merchant_id, ROUND(AVG(satisfaction_score),2) AS average_satisfaction_score FROM satisfaction_underline GROUP BY merchant_id ) SELECT merchant_id, merchant_name, total_sales_amount, total_refund_amount, average_satisfaction_score FROM merchants_underline JOIN total_sales USING(merchant_id) JOIN total_refund USING(merchant_id) JOIN average_satisfaction_score USING(merchant_id) ORDER BY merchant_id ASC;