You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询近3个月订单量超所在区域客户平均订单数的客户

查询近3个月订单量超区域平均的客户

思路说明

要实现需求,需分三步完成:

  • 统计每个客户近3个月的订单数量
  • 计算每个区域(城市)内客户的平均订单数
  • 筛选出订单数高于所在区域平均值的客户

SQL 查询语句

以下是通用的 SQL 实现,针对不同数据库需调整日期函数:

WITH customer_order_counts AS (
    SELECT 
        customer_id,
        city,
        COUNT(order_id) AS customer_order_count
    FROM orders
    -- 根据数据库类型选择对应的日期条件
    -- SQL Server: Date >= DATEADD(month, -3, GETDATE())
    -- MySQL: Date >= DATE_SUB(CURDATE(), INTERVAL 3 MONTH)
    -- PostgreSQL: Date >= CURRENT_DATE - INTERVAL '3 months'
    WHERE Date >= DATEADD(month, -3, GETDATE())
    GROUP BY customer_id, city
),
regional_avg_orders AS (
    SELECT 
        city,
        AVG(customer_order_count) AS regional_avg_order_count
    FROM customer_order_counts
    GROUP BY city
)
SELECT 
    coc.customer_id,
    coc.city,
    coc.customer_order_count,
    ro.regional_avg_order_count
FROM customer_order_counts coc
JOIN regional_avg_orders ro ON coc.city = ro.city
WHERE coc.customer_order_count > ro.regional_avg_order_count
ORDER BY coc.city, coc.customer_order_count DESC;

关键点解释

  • CTE customer_order_counts: 按客户和城市分组,统计每个客户近3个月的订单总数
  • CTE regional_avg_orders: 按城市分组,计算该城市所有客户的平均订单数(即题目示例中的区域平均)
  • 最终查询: 关联两个结果集,筛选出订单数超过所在城市平均值的客户,并展示核心信息

内容的提问来源于stack exchange,提问作者Hridikalpa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 22:20:29