【问题标题】:SQL Query to find Woocommerce products that have not soldSQL 查询查找未售出的 Woocommerce 产品
【发布时间】:2018-04-30 15:48:42
【问题描述】:

我正在尝试设置一个查询,以查找在某个时间范围内未售出的产品并进行计数。例如,我想查找去年销售少于 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 次,但结果始终为空。

【问题讨论】:

  • 请分享示例数据和预期输出。
  • 我不知道你所说的样本数据是什么意思。它的所有 woocommerce 产品,所以我希望得到 wp_posts 表中所有内容的结果,加入 woocommerce 下载表,其中下载表中有 50 个或更少的产品 ID。
  • 表结构和其中的一些虚拟值会有所帮助

标签: mysql sql wordpress woocommerce


【解决方案1】:

结果为空,因为您使用的 Having 子句没有 group by,它将计算表中的所有行。
我假设您的表包含超过 50 行,因此结果将始终为空,因为 count(t2.product_id) 将始终 > 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;

【讨论】:

  • 啊,是的,我现在明白了。就是这样。非常感谢您的帮助,我真的很感激。
  • 乐于助人。如果您的问题得到解决,请考虑接受答案。
猜你喜欢
  • 1970-01-01
  • 2015-09-05
  • 1970-01-01
  • 2013-11-05
  • 2022-07-10
  • 1970-01-01
  • 2010-09-06
  • 2020-05-16
  • 1970-01-01
相关资源
最近更新 更多