0

好的,首先看到这个http://www.sqlfiddle.com/#!2/bbc3a/2

这里查询返回计数和所有,但我想要的是它选择一个论坛并返回主题计数并在其中发布,然后是下一个论坛以及所有主题和帖子计数,依此类推,包括论坛名称、url 和 desc . 我认为在一个查询中执行此操作而不是在循环中执行多个查询会更好。不过,我不知道我在用那个 mysql 查询做什么,我对 mysql 不是很好,而且我已经很久没有睡觉了。感谢帮助。

编辑:

这就是我希望从上面提小提琴中提供的数据中看到的内容^

| 论坛名称 | 论坛网址 | 论坛 | 论坛 | 主题计数 | 邮政计数 |
| 论坛1 | 论坛-1 | 论坛 1 描述 | 343243243 | 1 | 1 |
| 论坛二 | 论坛-2 | 论坛 2 描述 | 343243243 | 0 | 0 |
4

1 回答 1

2

你只需要添加一个GROUP BY子句

SELECT f.Name      ForumName,  
       f.Url       ForumUrl, 
       f.Desc      ForumDesc, 
       f.Time      ForumTime,
       COUNT(DISTINCT t.ID) TopicCount, 
       COUNT(DISTINCT p.ID) PostCount 
  FROM name_forums f
  LEFT JOIN name_topics t ON t.ForumId = f.ID
  LEFT JOIN name_posts p  ON p.TopicId = t.ID
 WHERE f.CategoryId = 1 
 GROUP BY f.name, f.url, f.desc

这是SQLFiddle演示

于 2013-06-16T23:59:55.190 回答