我正在用PHP设计自定义博客。在我的面板上,我有标题“类别”,我列出了每个类别中的类别和帖子数量。有2个相关的表,帖子和post_categories。
帖子 - post_id,post_title,post, CATEGORY_ID
POST_CATEGORIES - category_id, category_name,post_id
我不想添加未分类的类别,因为这会导致我计划设计的未来功能出现问题。我的SQL就是:
SELECT *, COUNT(*) AS category_post_count
FROM post_categories, posts
WHERE posts.category_id = post_categories.category_id
GROUP BY category_name
现在,如果帖子未设置category_id,则class_id为0,与post_categories中的任何内容无关。如何在我的SQL语句AS asastegorised中对这些进行分组?
感谢。
答案 0 :(得分:3)
您可以执行左连接以包含任何没有类别的帖子。
SELECT *, COUNT(*) as category_post_count
FROM post_categories LEFT JOIN posts
ON posts.category_id = post_categories.category_id
GROUP BY category_name;