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

按月份分组统计不同订单平均商品件数的SQL查询实现问题

SQL实现方案

计算逻辑

  • 核心逻辑:单月平均每个订单的商品数 = 单月总符合条件的商品条目数 ÷ 单月总符合条件的去重订单数
  • 分组维度:提取start_picking_at字段的年月值作为分组依据,可根据你使用的数据库调整年月格式化函数

完整可运行代码

SELECT
  -- 年月格式化,不同数据库替换对应函数:
  -- MySQL: DATE_FORMAT(o.start_picking_at, '%b-%Y')
  -- PostgreSQL: TO_CHAR(o.start_picking_at, 'Mon-YYYY')
  -- 若需要数字格式月份如2020-05,调整格式参数为'%Y-%m'(MySQL)或'YYYY-MM'(PostgreSQL)
  DATE_FORMAT(o.start_picking_at, '%b-%Y') AS statistical_month,
  ROUND(COUNT(i.id) / COUNT(DISTINCT o.id), 2) AS avg_items_per_order
FROM orders o 
INNER JOIN order_items i 
  ON o.id = i.order_id
WHERE 
  i.product_id NOT IN ('wpp001', '147426')
  AND DATE(o.start_picking_at) BETWEEN {{data_inicial}} AND {{data_final}}
GROUP BY statistical_month
ORDER BY statistical_month;

结果验证说明

你给出的示例数据中:

  • may-2020总商品数6,总订单数3,计算结果为2,你示例中写的5.33为笔误
  • june-2020总商品数3,总订单数2,计算结果为1.5,和你给出的示例结果一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:21:03