mysql分组计算sql_分组统计SQL(mysql)

此博客探讨了如何通过SQL查询,比较特定时间段内订单商品的销量(dj_count)与实际出库数量(out_count)。它结合了订单、产品和库存记录,揭示了产品在指定日期区间内的市场表现和供应链管理情况。
摘要由CSDN通过智能技术生成

SELECT

ls.*,IFNULL(sr.out_count,0) AS out_count

FROM

(

SELECT

od.product_id,pri.`product_type`,

GROUP_CONCAT(DISTINCT pri.`name`) AS product_name,

IFNULL(SUM(od.`product_num`),0) AS dj_count

FROM order_detail od

LEFT JOIN order_info oi ON od.`order_id`=oi.`id`-- 订单信息

LEFT JOIN product_info pri ON od.`product_id`=pri.`id`-- 产品信息

(oi.`is_cancel` ='' OR oi.`is_cancel` IS NULL OR oi.`is_cancel`='0')

AND (DATE_FORMAT(oi.`create_time`,'%Y-%m-%d') >= #{startDate})

AND (DATE_FORMAT(oi.`create_time`,'%Y-%m-%d') <= #{endDate})

GROUP BY od.product_id

) AS ls

LEFT JOIN

(

SELECT

psr.`product_id`,SUM(psr.`product_count`) AS out_count

FROM product_stock_record psr

psr.`stock_type`='0'

AND (DATE_FORMAT(psr.`create_time`,'%Y-%m-%d') >= #{startDate})

AND (DATE_FORMAT(psr.`create_time`,'%Y-%m-%d') <= #{endDate})

GROUP BY psr.`product_id`

) sr ON sr.product_id = ls.product_id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值