SQL Query查找尚未售出的Woocommerce产品

时间:2018-04-30 15:48:43

标签: mysql sql wordpress woocommerce

我正在尝试设置一个查询,该查询将查找在时间范围和计数内未售出的产品。例如,我想找到去年销售不到50次的所有产品。我不确定我的查询有什么问题,但现在是:

SELECT * FROM `wp_posts` t1 
  INNER JOIN `wp_woocommerce_downloadable_product_permissions` t2 
    ON t1.ID = t2.product_id 
  WHERE t2.access_granted >= "2016-04-30 00:00:00" 
  HAVING COUNT(t2.product_id) <= 50;

即使我知道有些产品在去年销售不到50次,结果仍然是空的。

1 个答案:

答案 0 :(得分:1)

结果为空,因为您使用的Having子句没有group by,这将计算表中的所有行。
我假设你的表包含超过50行,因此结果将始终为空,因为count(t2.product_id)将始终为&gt; 50。

试试这个:

SELECT t2.product_id
FROM `wp_posts` t1 INNER JOIN `wp_woocommerce_downloadable_product_permissions` t2 ON t1.ID = t2.product_id 
WHERE t2.access_granted >= "2016-04-30 00:00:00" 
group by t2.product_id
HAVING COUNT(t2.product_id) <= 50;