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 ) t where t.rk <= 2 order by price desc,product_name limit 3