有两个表。第一个:blogCategories,第二个:blog。 表 blogCategories 只有 2 个字段,id 和 categoyName。前面插入了很多类别名称。表 blog 有 id、blogCatID、标题、博客、日期字段。 blog表中有很多记录。但并非所有类别名称都被使用。 我尝试获取 categoryNames 列表及其在博客中的使用次数。如果博客中未使用 categoryName,我需要 0(零)。
我使用了下面的查询。但是 categoryNames 计数为 1,即使它们没有被使用也是如此。
SELECT DISTINCT categoryName, COUNT(*) AS totalBlogCount
FROM
(SELECT bc.categoryName
FROM
blogCategories bc
LEFT JOIN blog b ON bc.id=b.blogCatID) AS tot
GROUP BY categoryName
最佳答案
以下查询将为您提供类别名称和使用次数。如果没有使用,那么它将返回 0
作为 count(null value)=0
SELECT bc.categoryName, COUNT(b.blogCatID) AS totalBlogCount
FROM blogCategories bc Left JOIN blog b ON bc.id=b.blogCatID
GROUP BY categoryName
输出看起来像
inspirational 5
technical 2
political 0
random 3
关于mysql - 如何从 MySQL 中的两个表中获取不同值的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20982592/