powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как сделать расчет показателя для каждого клиента на дату заключения клиентом договора?
5 сообщений из 5, страница 1 из 1
Как сделать расчет показателя для каждого клиента на дату заключения клиентом договора?
    #40115009
skyrider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер. Для каждого клиента (их более тысячи) необходимо рассчитать показатель (средняя сумма транзакции за день) на дату, совпадающую с датой заключения договора (даты заключения договоров у клиентов почти везде разные). Ранее расчет производился только на одну дату, общую для всех клиентов:

SELECT client_id,AVG (transaction_amount) as AVG_AMOUNT,calculation_date
FROM customers c
WHERE c.calculation_date=to_date('01.11.2021','dd.mm.yyyy');


Теперь необходимо преобразовать вышеуказанный код для расчета средней суммы транзакции за день для каждого клиента на дату заключения ими договоров. Можно ли вообще рассчитать показатель ( в данном случае -AVG (transaction_amount) ) на разные даты для каждого клиента в одном селекте? В таблице транзакций всего 2 столбца: client_id и дата заключения договора. Пока набросал такой вариант, но не уверен, что при таком селекте будет выбираться нужная дата заключения договора под каждого клиента и сделает одновременно расчет средней суммы транзакции для всех клиентов:

SELECT client_id,AVG (transaction_amount) as AVG_AMOUNT,calculation_date
FROM (select * from customers c WHERE c.calculation_date=to_date('01.11.2021','dd.mm.yyyy')) t1
JOIN transactions tr on t1.client_id=tr.client_id;

За дельный совет буду благодарен.
...
Рейтинг: 0 / 0
Как сделать расчет показателя для каждого клиента на дату заключения клиентом договора?
    #40115020
skyrider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Как сделать расчет показателя для каждого клиента на дату заключения клиентом договора?
    #40115096
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyrider,

join + group by по клиенто-дню
...
Рейтинг: 0 / 0
Как сделать расчет показателя для каждого клиента на дату заключения клиентом договора?
    #40115147
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyrider
Добрый вечер. Для каждого клиента (их более тысячи) необходимо рассчитать показатель (средняя сумма транзакции за день) на дату, совпадающую с датой заключения договора (даты заключения договоров у клиентов почти везде разные). Ранее расчет производился только на одну дату, общую для всех клиентов:

SELECT client_id,AVG (transaction_amount) as AVG_AMOUNT,calculation_date
FROM customers c
WHERE c.calculation_date=to_date('01.11.2021','dd.mm.yyyy');


Теперь необходимо преобразовать вышеуказанный код для расчета средней суммы транзакции за день для каждого клиента на дату заключения ими договоров. Можно ли вообще рассчитать показатель ( в данном случае -AVG (transaction_amount) ) на разные даты для каждого клиента в одном селекте? В таблице транзакций всего 2 столбца: client_id и дата заключения договора. Пока набросал такой вариант, но не уверен, что при таком селекте будет выбираться нужная дата заключения договора под каждого клиента и сделает одновременно расчет средней суммы транзакции для всех клиентов:

SELECT client_id,AVG (transaction_amount) as AVG_AMOUNT,calculation_date
FROM (select * from customers c WHERE c.calculation_date=to_date('01.11.2021','dd.mm.yyyy')) t1
JOIN transactions tr on t1.client_id=tr.client_id;

За дельный совет буду благодарен.


влоб (в contracts client_id уникально)

SELECT client_id,AVG (transaction_amount) as AVG_AMOUNT,calculation_date
FROM customers c
WHERE c.calculation_date=(select date_contract from contracts co where co.client_id=c.client_id)
group by client_id

ps
SELECT client_id,co.date_contract,AVG (transaction_amount) as AVG_AMOUNT,calculation_date
FROM customers c, contracts co
WHERE c.calculation_date=co.date_contract
group by client_id,co.date_contract


......
stax
...
Рейтинг: 0 / 0
Как сделать расчет показателя для каждого клиента на дату заключения клиентом договора?
    #40115184
skyrider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

Огромнейшая благодарность! Попробую так сделать и потом выборочно проверю результаты по нескольким клиентам.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как сделать расчет показателя для каждого клиента на дату заключения клиентом договора?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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