select
product_id,
product_name,
category_id,
sales_amount,
profit_rate
from
(
SELECT
p.product_id,
product_name,
category_id,
sales_amount,
round((sales_amount - cost_amount) / sales_amount, 2) AS profit_rate,
row_number() over (
PARTITION BY
category_id
ORDER BY
sales_amount DESC
) AS rk
FROM
product_category p
LEFT JOIN sales_and_profit s ON p.product_id = s.product_id
) t
where
rk <= 3
and profit_rate > 0.2
order by
3,
4 desc,
1

京公网安备 11010502036488号