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