两张表
#主订单表
tid 主订单ID
com_uid 公司ID
shop_uid 店铺ID
cus_uid 客户ID
pay_time 付款时间
#订单明细表
oid 子订单ID
tid 主订单ID
com_uid 公司ID
shop_uid 店铺ID
cus_uid 客户ID
goods_code 商品编码
求:
#某段时间购买某个商品二次以上的客户数
限制条件
1.1个客户1次购买2件,不算复购
2.同个公司,1个客户1天购买多笔,算1次
查询某时间段的数据:
SELECT * FROM 表名 WHERE 时间字段 >= '2010-10-1 00:00:00' AND 时间字段 < '2010-11-1 00:00:00'
大致写了一下 大家看看是否有问题
select count(a.customs) payCustoms from (
select o.cus_uid,count(distinct t.cus_uid,t.pay_time) customs
from ons_orders o
join ons_trade t on o.cus_uid = t.cus_uid and o.tid = t.tid
and t.com_uid = '1FC76074F3A03E2B9FF556EA248916C4'
and t.pay_time >= '2017-01-01'
and t.pay_time <= '2017-10-12'
and t.shop_uid in ('55584E70B73E393C8321B10C5DFA0C1E')
where o.com_uid = '1FC76074F3A03E2B9FF556EA248916C4'
and o.goods_code = '10005'
group by o.cus_uid
having customs >= 2
) a;