首先,我已经读了所有标题相同的文章。但没有办法解决我的问题。
我希望我的查询结果是这样的
kategori | hitung
Good | 2
Nice | 0
great | 1
使用此查询:
SELECT kategori, COALESCE(COUNT(kategori), 0) AS hitung FROM tb_cust WHERE id_sales=9 GROUP BY kategori DESC
但结果只返回2个数据:
kategori | hitung
Good | 2
great | 1
我的问题错了吗?
编辑:
这是我的表和里面的数据
表名:tb\ U cust
id_cust | name_cust | kategori | id_sales
1 | Name 1 | Good | 9
2 | Name 2 | Good | 9
3 | Name 3 | Great | 9
2条答案
按热度按时间5hcedyr01#
根据您的条件(id\u sales=9),tb\u cust中提供的kategori值为“good”、“great”。
你能做的是
步骤1.首先在cte->kategori\u val中有一个块来显示kategori的所有可能值
第二步。左键联接tb\u cust中的数据并获取记录数
--我猜“with”在mysql数据库中不起作用
9fkzdhlc2#
您可能可以通过条件聚合来实现这一点:
这假设类别在表中有一些记录。
如果没有,则可以使用以下类别的查找表: