我如何获取回复的授权次数

时间:2012-10-23 12:14:28

标签: 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');

请帮我解释如何获取回复的数量。

1 个答案:

答案 0 :(得分:0)

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

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