select product_id,product_name,type,price from (
select product_id,product_name,type,price from 
(select *
, rank() over(partition by type order by price desc) rk
from product_info)r
where r.rk<=2
)rk2
order by 4 desc,2 asc
limit 3