Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
25.11.2021, 20:24
|
|||
---|---|---|---|
|
|||
Как сделать расчет показателя для каждого клиента на дату заключения клиентом договора? |
|||
#18+
Добрый вечер. Для каждого клиента (их более тысячи) необходимо рассчитать показатель (средняя сумма транзакции за день) на дату, совпадающую с датой заключения договора (даты заключения договоров у клиентов почти везде разные). Ранее расчет производился только на одну дату, общую для всех клиентов: 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; За дельный совет буду благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.11.2021, 21:05
|
|||
---|---|---|---|
|
|||
Как сделать расчет показателя для каждого клиента на дату заключения клиентом договора? |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.11.2021, 03:30
|
|||
---|---|---|---|
Как сделать расчет показателя для каждого клиента на дату заключения клиентом договора? |
|||
#18+
skyrider, join + group by по клиенто-дню ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.11.2021, 10:20
|
|||
---|---|---|---|
Как сделать расчет показателя для каждого клиента на дату заключения клиентом договора? |
|||
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=52&mobile=1&tid=1879727]: |
0ms |
get settings: |
18ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
56ms |
get topic data: |
2ms |
get forum data: |
0ms |
get page messages: |
117ms |
get tp. blocked users: |
0ms |
others: | 7ms |
total: | 207ms |
0 / 0 |