select product_id,product_name,category_id,sales_amount,profit_rate
from(
select p.product_id,product_name,category_id,sales_amount,
rank()over(partition by category_id order by sales_amount desc) as rk,
round((sales_amount-cost_amount)/sales_amount,2) profit_rate
from product_category p join sales_and_profit s on p.product_id = s.product_id
) t1
where t1.rk <=3 and profit_rate > 0.20

京公网安备 11010502036488号