好的,首先看一下http://www.sqlfiddle.com/#!2/bbc3a/2
这里查询返回计数和所有,但我想要的是它选择一个论坛并返回主题的数量,然后在其中发布下一个论坛以及所有主题和帖子计数等等论坛名称, url和desc。我认为在一个查询中执行此操作而不是循环中的许多查询会更好。我不知道我在用mysql查询做什么,我对mysql不是很好,我已经睡了这么久了。谢谢你的帮助。
编辑:
这是我期望从上面提供的数据中看到的^
| FORUMNAME | FORUMURL | FORUMDESC | FORUMTIME | TOPICCOUNT | POSTCOUNT | | Forum 1 | Forum-1 | Forum 1 Desc | 343243243 | 1 | 1 | | Forum 2 | Forum-2 | Forum 2 Desc | 343243243 | 0 | 0 |
答案 0 :(得分: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 演示