2014-01-05 58 views
-1

我有两个表:'新闻'和'评论'。如何计算每篇新闻文章的评论数量?选择COUNT周期

SELECT `news`.`name`,`news`.`text` (SELECT COUNT(1) FROM `comments` WHERE 
`comments`.`news_id`=`news`.`id`) AS `comments` FROM `news`,`comments` 

这是行不通的。

+5

定义 “不工作的权利”。另外,你的外部选择不需要'FROM注释'。只是'...因为''评论\'从''新闻'。 – meagar

+0

你想要统计新闻文章的评论数量吗? –

+0

while($ row = $ query-> fetch_array(MYSQLI_ASSOC)){ echo $ row [name]。'
'。$ row [comments]。'注释'; } 每条新闻都会有第一条新闻的评论数量。 – aspermag

回答

1

尝试这种方式

SELECT n.name, n.text, COUNT(c.news_id) total_comments 
    FROM news n LEFT JOIN comments c 
    ON n.id = c.news_id 
GROUP BY n.id 

这里是SQLFiddle演示