powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Оконные функции
3 сообщений из 3, страница 1 из 1
Оконные функции
    #39134957
crazyfruit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую, форумчане.
Столкнулся с необходимостью высчитать агрегатное значение от агрегатной функции (максимум от сумм частного, т.е max(sum(a*b))) для чего решил использовать имеющиеся в Postgres'е оконные функции (window functions).

Однако столкнулся с проблемой - максимальные значения "накапливаются" (да, я понимаю,что так оно и должно быть) , в то время как мне нужно вывести одно максимальное значение (т.е отбросить строки в которых значение < максимального). Как это сделать?


Сам текст запроса ниже:

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT customers.country,goods.category_id, MAX(SUM(orders_details.quantity*goods.price)) 
OVER (PARTITION BY customers.country ORDER BY goods.category_id)
FROM orders 
JOIN orders_details ON (orders_details.order_id = orders.id) 
INNER JOIN goods ON (orders_details.item_id = goods.id) 
INNER JOIN customers ON (customers.id = orders.customer_id) 
GROUP BY customers.country,goods.category_id
...
Рейтинг: 0 / 0
Оконные функции
    #39134976
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crazyfruitКак это сделать?не использовать аналитику там, где нужен итог.
...
Рейтинг: 0 / 0
Оконные функции
    #39135284
crazyfruit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
p2., спасибо за наводку. Действительно использование здесь оконных функций неуместно. Достаточно простой сортировки.
Задача решена, спасибо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Оконные функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]