2014-07-19 68 views
2

我有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 

我試圖顯示類別名稱機智帖子每個類別的數量h:例如以這樣的方式

Category 1 - 2 posts 
Category 2 - 2 Posts 
category 3 - 3 posts 

我試着像這樣:

Select * FROM posts 
inner join 
connection on... 

但在PHP begginner其難。

回答

2

由於您只需要每個類別的帖子數,所以您無需加入posts表。加入連接表並按類別分組就足夠了。

select c.category, count(*) 
from categories c 
join connection co on co.category_id = c.id 
group by c.category 
+0

謝謝你,測試和工作,現在只是多一個問題來顯示與PHP的類別名稱?我需要echo $ row ['c.category'] – Elona

+1

@Elona echo'$ row ['category']'(不包含表別名'c') – FuzzyTree