SELECT
    product_id,
    product_name,
    type,
    price
FROM(
    SELECT
        product_id,
        product_name,
        type,
        price,
        DENSE_RANK() OVER(PARTITION BY type ORDER BY price DESC) AS rk
    FROM product_info
) AS tb1
WHERE rk <= 2
ORDER BY price DESC, product_name
LIMIT 3