gpt4 book ai didi

php - MySQL 查询 - 将 BLOB 的结果限制为 blob(行)中的 1 个唯一元素

转载 作者:行者123 更新时间:2023-11-30 23:30:53 25 4
gpt4 key购买 nike

我有一个查找废弃购物车的查询,如下所示:

SELECT   c.customerid, 
c.custconfirstname,
c.custconemail,
o.ordstatus,
o.orddate,
GROUP_CONCAT( 'Order Id: ', orderid, ' | Product name: ', ordprodname, ' | Quantity: ', ordprodqty, '<br>' ) AS ordered_items
FROM isc_customers c
LEFT OUTER JOIN isc_orders o ON o.ordcustid = c.customerid
LEFT OUTER JOIN isc_order_products op ON op.orderorderid = o.orderid
LEFT OUTER JOIN isc_product_images pi ON pi.imageprodid = op.orderprodid
GROUP BY c.customerid
HAVING COUNT( DISTINCT o.ordcustid ) >0
AND o.ordstatus = 0
AND o.orddate < UNIX_TIMESTAMP( ) - '18000'
AND o.orddate > UNIX_TIMESTAMP( ) - '259200'

对于每个客户(唯一的客户 ID),BLOB 将为 ordered_items 生成类似这样的内容:

 Order Id: 15256 | Product name: PROD A | Quantity: 1
,Order Id: 15256 | Product name: PROD B | Quantity: 1
,Order Id: 15299 | Product name: PROD A | Quantity: 1
,Order Id: 15301 | Product name: PROD A | Quantity: 1

这基本上可以解释为客户在时间范围内有 3 个废弃的购物车。因为此查询将用于发送废弃的购物车电子邮件,所以出于各种原因,我不想发送垃圾邮件并发送每个废弃购物车中的每个产品(唯一的 orderid)的电子邮件,包括在上面的示例中,客户已经尝试过在 3 个订单中将产品 A 放入购物车 3 次,因此会在电子邮件中收到该商品 3 次。

那么如何限制查询,使其只返回每个 customerid 1 个 orderid 的结果?

最佳答案

在您的查询中添加 DISTINCT 即可。

http://www.w3schools.com/sql/sql_distinct.asp

关于php - MySQL 查询 - 将 BLOB 的结果限制为 blob(行)中的 1 个唯一元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10729930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com