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


京公网安备 11010502036488号