【发布时间】:2020-10-09 10:19:39
【问题描述】:
我有这样的表: SQLFIDDLE
我正在尝试计算每个类别中有多少产品
SELECT `category_id`, `category_name`, IFNULL(count(*),0) cat_stat
FROM
`product_to_categories`
NATURAL JOIN
`categories`
GROUP BY `category_id`
除了 IFNULL 部分外,它几乎可以工作。
我收到:
+-------------+---------------+----------+
| category_id | category_name | cat_stat |
+-------------+---------------+----------+
| 1 | category1 | 5 |
+-------------+---------------+----------+
| 2 | category2 | 5 |
+-------------+---------------+----------+
| 3 | category3 | 6 |
+-------------+---------------+----------+
| 5 | category5 | 4 |
+-------------+---------------+----------+
但我也想得到空结果:
+-------------+---------------+----------+
| category_id | category_name | cat_stat |
+-------------+---------------+----------+
| 1 | category1 | 5 |
+-------------+---------------+----------+
| 2 | category2 | 5 |
+-------------+---------------+----------+
| 3 | category3 | 6 |
+-------------+---------------+----------+
| 4 | category4 | 0 |
+-------------+---------------+----------+
| 5 | category5 | 4 |
+-------------+---------------+----------+
谢谢!
【问题讨论】: