Php MySQL查询-将BLOB的结果限制为BLOB(行)中的一个唯一元素
我有一个查询来查找被遗弃的手推车,看起来像这样:Php MySQL查询-将BLOB的结果限制为BLOB(行)中的一个唯一元素,php,mysql,Php,Mysql,我有一个查询来查找被遗弃的手推车,看起来像这样: SELECT c.customerid, c.custconfirstname, c.custconemail, o.ordstatus, o.orddate, GROUP_CONCAT( 'Order Id: ', orderid, ' | Product name: ', ordprodname, ' | Quantity: ', o
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'
这基本上可以解释为客户在时间范围内有3辆废弃的手推车。由于此查询将用于发送废弃购物车电子邮件,我不想发送垃圾邮件,并出于各种原因发送包含每个废弃购物车的每个产品(唯一orderid)的电子邮件,包括在上面的例子中,客户在3次订单中尝试将产品A放入购物车3次,因此将在电子邮件中获得该项目3次
那么,我如何限制查询,使其只返回每个customerid 1个orderid的结果呢?在查询中添加DISTINCT,这将使查询变得清晰
这并不是解决我问题的好办法,但从另一方面来说,它也会奏效的。我需要按c.customerid,o.orderid添加组
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