-- 问题提炼:每个商品的销售总量  先商品类别升序,再 销售总量降序

SELECT
    p.name AS product_name
    ,SUM(o.quantity) AS total_sales
    ,DENSE_RANK() OVER(
        PARTITION BY p.category 
        ORDER BY SUM(o.quantity) DESC, p.product_id
    ) AS category_rank
FROM 
    products p 
    INNER JOIN orders o 
        ON p.product_id = o.product_id
GROUP BY 
    p.name
    ,p.product_id
ORDER BY p.category, category_rank
;

END