假设有一个订单表order,包含以下字段:customer_id(消费者ID),order_time(订单时间),order_amount(订单金额)编写MYSQL脚本,计算近三个月消费者购买人数,购买金额,复购人数,复购金额,复购消费者支付金额
时间: 2023-06-20 14:08:13 浏览: 95
我们可以使用MySQL的聚合函数和日期函数来计算近三个月的统计数据。下面是一份可能的脚本:
```mysql
SELECT
COUNT(DISTINCT customer_id) AS unique_customers,
SUM(order_amount) AS total_amount,
COUNT(DISTINCT CASE WHEN order_count > 1 THEN customer_id END) AS repeat_customers,
SUM(CASE WHEN order_count > 1 THEN order_amount END) AS repeat_amount,
SUM(CASE WHEN order_count > 1 THEN order_amount / order_count END) AS repeat_avg_amount
FROM (
SELECT
customer_id,
COUNT(*) AS order_count,
SUM(order_amount) AS order_amount
FROM order
WHERE order_time >= DATE_SUB(NOW(), INTERVAL 3 MONTH)
GROUP BY customer_id
) subquery;
```
这个脚本首先使用子查询来计算每个消费者在近三个月内的订单数量和总金额。然后,在外部查询中,我们使用上述结果计算唯一消费者人数,总购买金额,复购消费者人数,复购总金额和复购消费者平均支付金额。
请注意,在计算复购客户时,我们使用了CASE语句来过滤出仅在至少两次消费的客户。在计算平均复购金额时,我们使用了订单数量来除以总金额,以便得到每个订单的平均金额。
阅读全文