with
t as (
select
product_id,
product_name,
type,
price,
rank() over (
Partition by
type
order by
price DESC
) as rk
from
product_info
group by
type,
product_id
)
select
product_id,
product_name,
type,
price
from
t
where
rk <= 2
order by
price desc,
product_name asc
limit
3;



京公网安备 11010502036488号