mysql - 包含相关产品数量的类别列表

标签 mysql sql count

我实现了以下查询,列出了所有类别并给出了与每个类别关联的产品数量。

SELECT tm.term_id, tm.name, count(tm.name) as total_products
FROM mg_term_taxonomy tx
LEFT JOIN mg_terms tm
ON tx.term_id=tm.term_id
LEFT JOIN mg_term_relationships tr
ON tr.term_taxonomy_id=tx.term_taxonomy_id
WHERE tx.taxonomy='product_cat'
GROUP BY tm.term_id

问题出在具有任何关联产品的类别上。在这种情况下,total_products 将其计为 1 而不是 0。 问题是如果tr.object_id为NULL,如何在total_products中得到0?

最佳答案

计算您想要计算的字段:

SELECT tm.term_id, tm.name, count(tr.object_id) as total_products
. . .

关于mysql - 包含相关产品数量的类别列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45796979/

相关文章:

sql - BETWEEN 子句与 <= AND >=

mysql - 在 MySQL 查询中重复 COUNT(*) 成本昂贵吗?

MySQL select - 按组获取计数

php - 这些 SQL 语句有什么问题?

mysql - 我可以缩短这个 mysql 查询吗?

php - OctoberCMS 找不到管理员帐户 "Empty Backend Users"

sql - oracle LAST_DAY(sysdate)比较问题

php - 在数据库中存储完整日期或仅一年

MySQL 将自定义格式的日期与现在进行比较

mysql - 在mysql查询<>中同时使用大于号和小于号