SELECT
company_name
FROM (
SELECT
DISTINCT cu.company_name
, SUM(CASE WHEN od.discount > 0 THEN 1 ELSE 0 END)
OVER(PARTITION BY cu.company_name)::NUMERIC /
COUNT(*) OVER(PARTITION BY cu.company_name) discount_ratio
FROM orders o
JOIN order_details od
ON od.order_id = o.order_id
JOIN customers cu
ON cu.customer_id = o.customer_id
) t
WHERE discount_ratio >= 0.2
Задание 2. Вывести первые 3 заказа каждого покупателя. Нужно ID покупателя, ID заказа, его дату и порядковый номер. Если у покупателя меньше 3 заказов, то для него выводить ничего не требуется.
3.Вывести название компаний (покупателей), которые заказывали более 20% товаров со скидками? (англ. discount).
4.Найдите 3 самых дорогих групп товаров по категориям, которые заказывали в течение 1996 года. Вывести название категории и общую стоимость заказанных товаров.
5.Найдите средний чек повторного заказа.
В качестве БД используется демонстрационная база https://github.com/pthom/northwind_psql