SELECT product_id,product_name,type,price FROM(SELECT product_id, product_name, type, price, rank() over(partition by type order by price desc) as rk --用rank选择每个类别价格前2的商品 FROM product_info)t WHERE rk<=2 ORDER BY price DESC,product_id --需要按照product_id做子排序 LIMIT 3; --用limit3选择globally 前三的商品