1
我有一個查詢發現被遺棄的車,看起來像這樣:MySQL查詢 - 一個BLOB 1種獨特元素的BLOB(行)的極限成績
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唯一)團塊會產生像這樣的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)),其中包括上述客戶嘗試過的示例將產品A放入購物車3次以上,並在電子郵件中獲得3次。
那麼如何限制查詢,以便它只會返回每個客戶端1 orderid的結果?
這不是我的問題的解決方案,但它會工作其他明智的。我需要添加GROUP BY c.customerid,o.orderid – James