我正在尝试设置一个查询,该查询将查找在时间范围和计数内未售出的产品。例如,我想找到去年销售不到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次,结果仍然是空的。
答案 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;