MYSQL评论计数,不起作用

时间:2014-12-22 11:11:35

标签: mysql sql database select group-by

在个别帖子的MYSQL评论中存在问题,基本上以下代码只是将所有评论统计为一个帖子,并将其分配给一个post_id:

    SELECT posts . * , COALESCE( COUNT( comments.post_id ) , 0 ) AS numberOfComments
    FROM posts
    LEFT JOIN comments ON comments.post_id = posts.post_id
    AND posts.number_of_comments = 'B'
    LIMIT 0 , 30

table: posts

table: comments

以上是表格,代码的结果如下: query result

所以我只想计算每个帖子和mysql中的评论数量,我不想再做一个额外的PHP页面。 提前致谢

1 个答案:

答案 0 :(得分:2)

使用 GROUP BY 子句计算明显的评论数量。

试试这个:

SELECT p.*, COALESCE(COUNT(c.post_id), 0) AS numberOfComments
FROM posts p 
LEFT JOIN comments c ON c.post_id = p.post_id
WHERE p.number_of_comments = 'B'
GROUP BY p.post_id
LIMIT 0, 30;