Heim >Backend-Entwicklung >PHP-Tutorial >求MySQL实现根据提供的时间检测出产品表,上架后时间之内不动销的产品?
有三个表 第一个表是产品表(goods):
<code>字段:id,goods_id,.... </code>
第二个表是订单-商品表(order):
<code>字段:id,goods_id,order_id,.... </code>
第三个表是订单详情表(order_info):
<code>字段:id,order_id,pay_time,... </code>
产品表 和 订单-商品表 是一对多的关系
订单-商品表 和 订单详情表 是一对一的关系
订单-商品表没有订单完成的状态,但是可以根据 订单详情表 的pay_time(支付时间)判断是否完成订单
现在要实现的是根据提供的时间检测出产品表,上架后时间之内不动销的产品?
补充:现在已经完成goods表关联order表查询获得没有订单的产品ID了,但是需要关联第三个表,还需要加上时间筛选,感觉之前的办法很难实现。
有三个表 第一个表是产品表(goods):
<code>字段:id,goods_id,.... </code>
第二个表是订单-商品表(order):
<code>字段:id,goods_id,order_id,.... </code>
第三个表是订单详情表(order_info):
<code>字段:id,order_id,pay_time,... </code>
产品表 和 订单-商品表 是一对多的关系
订单-商品表 和 订单详情表 是一对一的关系
订单-商品表没有订单完成的状态,但是可以根据 订单详情表 的pay_time(支付时间)判断是否完成订单
现在要实现的是根据提供的时间检测出产品表,上架后时间之内不动销的产品?
补充:现在已经完成goods表关联order表查询获得没有订单的产品ID了,但是需要关联第三个表,还需要加上时间筛选,感觉之前的办法很难实现。
分析一下问题,个人窃以为难以实现的关键:
综上几点,个人觉得题主应该在订单表(order),增加状态列(status)信息,这样的话就很好统计了。例如status=1表示订单完成,则SQL如下:
<code>1. 交易订单少于指定笔数为不动销 select goods_id from ( select goods_id, count(1) as num from order where status = 1 group by goods_id) t where t.num </code>