-- 逻辑拆解:时间是2024年第二季度,要求商品的销售总额、在各类别中的排名以及供应商 -- 先求出商品的销售综合,再排序,接着去和供应商表做连接 WITH total_sales AS ( SELECT t1.product_id, t1.product_name, t1.category, COALESCE(SUM(t2.total_amount),0) q2_2024_sales_total, DENSE_RANK() OVER(partition by t1.category order by COALESCE(SUM(t2.total_amount),0) DESC) category_rank FROM product_info t1 LEFT JOIN order_info t2 ON t1.product_id = t2.product_id AND t2.order_date BETWEEN '2024-03-01' AND '2024-06-30' GROUP BY t1.category,t1.product_id ) SELECT t1.product_id, t1.product_name, t1.q2_2024_sales_total, t1.category_rank, t2.supplier_name FROM total_sales t1 LEFT JOIN supplier_info t2 ON t1.product_id = t2.product_id ORDER BY t1.product_id