Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Оконные функции SQL

тоня Ученик (28), на голосовании 11 месяцев назад
Используя конструкцию WINDOW, рассчитайте суммарную стоимость и количество заказов с накоплением от месяца к месяцу.
Выгрузите поля:
идентификатор заказа;
месяц оформления заказа, приведённый к типу date;
сумма заказа;
количество заказов с накоплением;
суммарная стоимость заказов с накоплением.
Подсказка

Сохраните определение окна в конструкции WINDOW. Вспомните, в какой части запроса указывают конструкцию.
Голосование за лучший ответ
Sergio 2.1 Оракул (67441) 1 год назад
 SELECT  
order_id,
DATE_TRUNC('month', order_date) as month,
order_cost,
COUNT(order_id) OVER w as cumulative_orders,
SUM(order_cost) OVER w as cumulative_cost
FROM
orders
WINDOW w AS (
PARTITION BY DATE_TRUNC('month', order_date)
ORDER BY order_date
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
)
тоняУченик (28) 1 год назад
не работает, выдает ошибку
тоня, Не соизволила указать название СУБД - получила неработающий код.
max0988 Знаток (327) 11 месяцев назад
SELECT
order_id,
DATE_TRUNC('month', order_date) :: date AS month,
order_cost,
COUNT(order_id) OVER w AS cumulative_orders,
SUM(order_cost) OVER w AS cumulative_cost
FROM
orders
WINDOW w AS (
ORDER BY DATE_TRUNC('month', order_date)
)
Андрей Ученик (156) 6 месяцев назад
SELECT o.order_id,
DATE_TRUNC('month', o.paid_at)::DATE AS month,
total_amt,
COUNT(o.order_id) OVER w AS cumulative_orders,
SUM( o.total _amt) OVER w AS cumulative_cost
FROM
tools_shop.orders AS o
WINDOW w AS (
ORDER BY DATE_TRUNC('month', o.paid_at)::DATE
)
Похожие вопросы