【问题标题】:MYSQL Comment Counting, not workingMYSQL评论计数,不起作用
【发布时间】:2015-02-20 11:37:06
【问题描述】:

在单个帖子的 MYSQL 评论计数中存在问题,基本上以下代码只是将所有 cmets 计为一篇帖子并将其分配给一个 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

以上是表格,代码的结果是:

所以我只想计算每个帖子的 cmets 数量,并且在 mysql 中我不想制作额外的 PHP 页面来这样做。 提前致谢

【问题讨论】:

    标签: mysql sql database select group-by


    【解决方案1】:

    使用 GROUP BY 子句计算后的 cmets 数。

    试试这个:

    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;
    

    【讨论】:

    • 这行得通!一个问题,我如何保持更新?这适用于 SQL,但它不会在表中更新,我希望 MYSQL 自动完成,显然不是通过 php,但如果别无选择,那就是 PHP,谢谢!
    • 好的,我试过了,但我不能让它与触发器一起工作,你能告诉我更多关于它的信息或给我代码吗?谢谢
    猜你喜欢
    • 2014-02-13
    • 2013-07-10
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    • 2013-07-03
    • 1970-01-01
    相关资源
    最近更新 更多