mysql - 我如何获取回复的授权计数

标签 mysql count

我正在处理评论,我必须在列出评论时显示回复数 回复是第 n 级,如

parent
       ->child
            -> child
                -> child
Parent
      -> child
      ->child
          ->child

我的 SQL 是:

CREATE TABLE IF NOT EXISTS `comment` (
  `comment_id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'This is primary key of the table',  
  `parent_comment_id` bigint(11) NOT NULL, 
  `text` text NOT NULL,
  PRIMARY KEY (`comment_id`),
  KEY `user_id` (`user_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;



INSERT INTO `comment` (`comment_id`, parent_comment_id`, `text`) VALUES
(1, 0, 'Parent'),
(2, 1, 'child'),
(3,  2, 'child'),
(4,  3, 'child'),
(5,  1, 'child2'),
(6, 0, 'Parent2'),
(7,  6,'child of parent2');

请帮助我了解如何获取回复数。

最佳答案

SELECT COUNT (*) FROM `comment` WHERE parent_comment_id = :id

将为您提供对评论 :id 的回复数。如果您需要整个线程中的评论数,则需要多次执行此查询,为:id 传入不同的值。或者,您可以使用 Nested Sets存储父子关系。

关于mysql - 我如何获取回复的授权计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13030195/

相关文章:

mysql 计数不同的变量超过 1

mysql - 在字符串中查找精确匹配的正则表达式可以在其他地方使用,但不能在 MySql 查询上使用

php - 使用 ajax 函数根据下拉列表更改 select 语句的表?

mySQL SUM 和 COUNT 问题,连接上的一些值加倍

c# - 获取列表中重复项的计数

python - 如果满足某些条件,如何从另一个字典创建字典

php递归函数性能优化

mysql - 授予用户权限以仅查看 MySQL View 而不是其他 View

mysql - mySQL 中的动态 View 替代方案

r - 使用 R 中的时间设置队列