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