Как определить удержание клиента с помощью SQL? - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть таблица данных ссуд, содержащая следующие столбцы: Строка, loanId, clientId, DisbDate, applicationDate, ApproDate, loanNumber, loanAmount, InterestRate

Как извлечьтолько клиенты, которые получили свой первый кредит, скажем, в январе 2018 года, и число тех клиентов, которые получили / взяли кредит в последующие месяцы 2018 года.

Примечание : если клиентвзяли более одного кредита в месяц, они должны учитываться только один раз.

1 Ответ

0 голосов
/ 23 февраля 2019

Вы можете использовать два уровня агрегации:

select count(*) as num_clients_jan,
       countif(max(DisbDate) >= date('2018-02-01')) as num_follows
from (select l.clientId, min(disbdate) as min_dsbdate, max(disbdate) as max_disbdate
      from loans l
     where DisbDate >= date('2018-01-01')
      group by l.clientId
      having min(DisbDate) < date('2018-02-01')
     ) x
...