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