SELECT p.product_id, product_name,
    IFNULL(q2_2024_sales_total,0) AS q2_2024_sales_total,
    RANK() OVER (PARTITION BY category ORDER BY q2_2024_sales_total DESC) AS category_rank,
    supplier_name 
FROM product_info p
LEFT JOIN (
    SELECT product_id, SUM(total_amount) AS q2_2024_sales_total
    FROM order_info
    WHERE order_date BETWEEN '2024-04-01' AND '2024-06-30'
    GROUP BY product_id) a
USING(product_id)
JOIN supplier_info
USING(product_id)
ORDER BY p.product_id