我有3个MySQL表:
表1:帖子
id | date | postname | content
1 | 2014-07-17 | Post 1 | Content of post 1
2 | 2014-07-18 | Post 2 | Content of post 2
3 | 2014-07-19 | Post 3 | Content of post 3
表2:类别
id | category
1 | Category 1
2 | Category 2
3 | Category 3
表3:连接
id | post_id | category_id
1 | 1 | 1
2 | 1 | 2
3 | 2 | 2
4 | 2 | 3
5 | 3 | 1
6 | 3 | 2
7 | 4 | 3
我正在尝试显示每个类别的帖子数量的类别名称:例如:
Category 1 - 2 posts
Category 2 - 2 Posts
category 3 - 3 posts
我正在尝试类似的事情:
Select * FROM posts
inner join
connection on...
但作为php中的begginner很难。
答案 0 :(得分:3)
由于您只需要每个类别的帖子计数,因此您无需加入posts
表。加入连接表并按类别分组就足够了。
select c.category, count(*)
from categories c
join connection co on co.category_id = c.id
group by c.category