gpt4 book ai didi

php - 显示带有帖子数量的类别

转载 作者:行者123 更新时间:2023-11-30 22:40:04 28 4
gpt4 key购买 nike

我正在写博客。我有 2 个表,一个用于 posts,另一个用于 categories

我想显示类别名称、类别日期和每个类别中的帖子数。我在显示每个类别中的帖子数量时遇到问题。在 posts 表中,我有一个名为 cat_id 的列,它等于 category.id

我有这两个 MySQL 查询:

mysql_query("select Count(posts.id) as NumberOfPosts, cat_id from posts group by cat_id");  

mysql_query("select name, date from categories");

我不知道如何将这两个查询合并为一个查询。我正在使用 PHP。

最佳答案

您可以使用加入:

SELECT name, date, NumberOfPosts
FROM categories c
JOIN (SELECT cat_id, COUNT(*) AS NumberOfPosts
FROM posts
GROUP BY cat_id) p ON c.id = p.cat_id

编辑:
要包含没有帖子的类别,您可以使用 left join 而不是常规 join。您只需要处理为 NumberOfPosts 获得的 null,例如,通过使用 coalesce:

SELECT      name, date, COALESCE(NumberOfPosts, 0) AS NumberOfPosts
FROM categories c
LEFT JOIN (SELECT cat_id, COUNT(*) AS NumberOfPosts
FROM posts
GROUP BY cat_id) p ON c.id = p.cat_id

关于php - 显示带有帖子数量的类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31377198/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com