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

如何在MySQL同一条查询中使用GROUP和SUM实现每日销量统计

高效统计每日各产品销售总量的MySQL查询方案

核心查询语句

通过关联订单主表与订单明细表,按日期和产品编码分组求和,即可得到所需统计结果:

SELECT 
    o.date,
    od.id_product,
    SUM(od.product_quantity) AS `total quantity`
FROM 
    `order` o
INNER JOIN 
    order_detail od ON o.id_order = od.id_order
GROUP BY 
    o.date, od.id_product
ORDER BY 
    o.date DESC, od.id_product;

大数据量优化(针对25万条记录)

为避免全表扫描、提升查询效率,需添加以下联合索引:

  • 给order表创建日期与订单ID的联合索引:
    CREATE INDEX idx_order_date_id ON `order`(date, id_order);
    
  • 给order_detail表创建订单ID与产品ID的联合索引:
    CREATE INDEX idx_orderdetail_order_product ON order_detail(id_order, id_product);
    

这些索引能让MySQL快速定位关联数据,大幅缩短查询耗时。

补充说明

注:你提供的预期结果存在数据矛盾(例如08/11/2022的C产品实际总销量应为3+8+7=18,但示例中显示为3),推测是示例笔误,上述查询会返回符合逻辑的正确统计结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 22:50:25