имхо копать нужно примерно сюда :
SELECT COUNT(*) FROM 
   customers c, 
   orders o, 
   order_items oi, 
   products p,
   [b]COUNT(sh.*) as count[/b]
WHERE 
   o.cid=c.cid AND 
   oi.oid=o.oid AND 
   oi.productid=p.productid AND 
   p.groupid=2 AND 
   MONTH(FROM_UNIXTIME(o.ordertime)) = MONTH(NOW()) AND 
   YEAR(FROM_UNIXTIME(o.ordertime)) = YEAR(NOW()) AND 
   c.cid IS NOT NULL [b]AND
   sh.oid=o.oid
GROUP BY sh.oid
HAVING count = 1[/b];