假设我有一个下表名称“temp”
id | name
-----+-------
1 | AAA
2 | BBB
3 | BBB
正在使用以下查询获取名称的数量
SELECT name , count(*) FROm temp where name IN ('AAA','BBB','CCC') group by 1
当我执行查询时,我得到了以下输出
name | count
------------+-------
AAA | 1
BBB | 2
但是我需要下面的输出
name | count
------+-------
AAA | 1
BBB | 2
CCC | 0
如何得到这个输出???
最佳答案
您可以创建另一个临时表 tmp2
,其值为 'AAA'、'BBB'、'CCC'... 然后您的选择查询将如下所示:
SELECT tmp2.name, count(temp.name)
FROM tmp2
LEFT JOIN temp ON temp.name=tmp2.name
GROUP BY tmp2.name
关于mysql - 如何在表中找不到数据时将计数设为 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39507499/