解释为什么是重复客户数量 COUNT(DISTINCT CASE WHEN order_time >= DATE_SUB(NOW(), INTERVAL 3 MONTH) THEN customer_id END) AS repeat_customer
时间: 2023-06-20 12:08:15 浏览: 89
count_distinct:在PostgreSQL中扩展以COUNT(DISTINCT ...)聚合的替代方法
5星 · 资源好评率100%
这里使用了COUNT、DISTINCT、CASE和INTERVAL等多个SQL语句和函数,目的是为了计算最近3个月内的重复客户数量。具体解释如下:
- COUNT:用于计算符合条件的记录数。
- DISTINCT:用于去重,保证同一个客户只被计算一次。
- CASE:用于根据条件进行分支判断,判断是否是最近3个月内的订单。
- NOW():用于获取当前时间。
- DATE_SUB():用于对日期进行减法运算,这里将当前时间减去3个月。
- INTERVAL:用于指定时间间隔,这里是3个月。
综上所述,这段SQL代码的作用是从订单表中筛选出最近3个月内的订单,然后按照客户ID进行去重统计,得到重复客户的数量。
阅读全文