sql统计信用卡按自然月统计30天回收率
时间: 2023-07-01 20:26:05 浏览: 55
以下是一个可能的 SQL 查询,用于统计信用卡按自然月统计30天回收率:
```
SELECT
DATE_TRUNC('month', billing_date) AS month,
SUM(recovered_amount) AS recovered_amount,
SUM(total_bill_amount) AS total_bill_amount,
SUM(recovered_amount) / SUM(total_bill_amount) AS recovery_rate
FROM
credit_card_billing
WHERE
billing_date >= DATE_TRUNC('month', NOW() - INTERVAL '1 month') AND
billing_date < DATE_TRUNC('month', NOW()) AND
DATEDIFF(day, billing_date, recovery_date) <= 30
GROUP BY
DATE_TRUNC('month', billing_date)
```
这个查询假设有一个名为 credit_card_billing 的表,其中包含信用卡账单和回收信息。查询将按照自然月对回收率进行统计,只统计30天内的回收数据。具体来说,查询会:
- 使用 WHERE 子句筛选出上个月的所有账单,并且回收日期在账单日期后30天之内
- 使用 DATE_TRUNC 函数对账单日期进行月份截取,以便按月进行分组
- 使用 SUM 函数计算每月的回收总额和账单总额
- 使用 GROUP BY 子句按月份对结果进行分组
- 使用算术运算符计算回收率
请注意,具体的查询语法可能因数据库类型而异。