2012-11-20 60 views
1
相關的評論數量

我正在嘗試運行查詢以選擇與文章ID最相關的評論文章。Mysql查詢與文章

我有一個文章表和一個評論表的評論表有一個article_id字段,鏈接他們,我試圖做一個左連接這裏是我想迄今爲止。

SELECT *, SUM(`comments`.`article_id`) AS total FROM (`articles`) JOIN `comments` ON `comments`.`article_id` = `articles`.`id` GROUP BY `comments`.`article_id` ORDER BY `total` asc 

我使用的CodeIgniter和上面是我的活動記錄,這是下面的輸出。

$this->db->select('*'); 
     $this->db->from('articles'); 
     $this->db->join('comments', 'comments.article_id = articles.id'); 
     $this->db->group_by('comments.article_id'); 
     $this->db->select_sum('comments.article_id', 'total'); 
     $this->db->order_by('total', 'asc'); 
     $query = $this->db->get(); 
     return $query->result(); 

好這個作品我似乎得到正確的輸出,但我不明白的意見作爲一個值我需要從工作數量。

,所以我想

ID爲1 文章有23條評論

文章ID爲2 有3條評論

等等等等

此刻我得到一個文章IDS的總和我認爲我有一個真正的高價值,這是不正確的總領域可以幫助這個?

感謝

SORRY回答我自己的問題IM使用金額,不將AARRRRRGGGGHHHH這個作品

SELECT *, COUNT(`comments`.`article_id`) AS total FROM (`articles`) JOIN `comments` ON `comments`.`article_id` = `articles`.`id` GROUP BY `comments`.`article_id` ORDER BY `total` asc 
+0

由於您自己解決了問題,因此將其作爲答案發布並接受。 –

+0

我該怎麼做馬哈茂德? – user1503606

+0

我想你仍然不會得到,因爲你在評論表中計入了文章ID。 –

回答

1

下面是答案..

SELECT文章。*,COUNT(commentsarticle_id)AS共1 FROM articles JOIN comments ON commentsarticle_id = articlesarticle_id GROUP BY articlesarticle_id ORDER BY total1 asc

+0

它將如何計數(comments.article_id)...........它意味着評論表article_id的。你是否正確得到答案 –

+0

嗨Venkat im確定其正確的返回正確的結果給我。 – user1503606

+0

當您在評論表中統計article_ids時,它將如何給出正確的結果,您希望文章的完整評論數爲_id。我認爲這應該是計數(評論.no_of_comments) –

0

這是因爲你在你的查詢做的文章編號的總和。你需要計算評論的總和。刪除sum函數中的文章ID就像這樣SUM(comments.comments_column_name)。我的意思是在你的評論表中,你在哪一列保存評論。