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