SQL MAX после SQL SUM
У меня есть разные таблицы, по которым я получаю итоговую цену продуктов
select id_pizza, sum(quantity*p.price) as total_price
from order_content o
left join pizza p on o.id_pizza = p.id
group by id_pizza
Как получить максимальную из этих цен вместе с id_pizza? Максимальные цены у разных продуктов могут совпадать, тогда мне нужно получить их все.
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
WITH cte AS (
select o.id_pizza,
sum(o.quantity*p.price) as total_price
RANK() OVER (ORDER BY SUM(o.quantity*p.price) DESC) rnk
from order_content o
left join pizza p on o.id_pizza = p.id
group by o.id_pizza
)
SELECT id_pizza, total_price
FROM cte
WHERE rnk = 1;