如何使用SQL确定客户端保留率?

时间:2019-02-23 01:45:50

标签: sql google-bigquery standard-sql

我有一个表,该表是包含以下各列的贷款数据: 行,贷款ID,客户ID,DisbDate,applicationDate,approvalDate,loanNumber,loanAmount,interestRate

我该如何提取仅在2018年1月收到第一笔贷款的客户以及数量 在接下来的2018年几个月中获得/借出贷款的客户中。

注意:如果客户一个月内获得了一笔以上的贷款,那么他们 应该只计算一次。

1 个答案:

答案 0 :(得分:0)

您可以使用两种聚合级别:

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