0

我遇到了自己对 MySQL 查询技能的限制,所以我希望一些 SQL 大师可以帮助解决这个问题。我有 2 张桌子:

表“评论”
评论 ID | comment_post_ID
     120 | 620
     121 | 620
     122 | 620
   表“comments_like”
喜欢_ID | 评论 ID
    1 | 120
    2 | 120

我将通过comment_post_ID得出具有类似组的评论数量:

COUNT(评论中的评论)| comment_post_ID
      1 | 620
4

4 回答 4

0

我想子查询在这里是最简单的:

SELECT (SELECT COUNT(like_ID) FROM `comments_like` cl WHERE cl.comment_ID=c.comment_ID) AS comments_in_comments_like, c.comment_post_ID FROM `comments` c

这将产生 2 的点赞数,因为评论 id 120 在您的示例中有 2 个点赞

于 2012-05-31T12:41:58.547 回答
0

此查询在 comment_like 表中给出其评论的 post_id 和 no of like

 SELECT comment_post_ID, count(like_ID)
 from (select distinct comment_post_ID,like_ID 
       from comments_like cl , comments c
 where cl.comment_ID= c.comment_ID ) as iq
 group by comment_post_ID
于 2012-05-31T12:45:20.240 回答
0
select cmtLike.like_ID, commnts.comment_post_ID
from comments_like cmtLike left join comments commnts on cmtLike.comment_ID = commnts.comment_ID
于 2012-05-31T12:47:54.853 回答
0

如果您只需要计算一次列出的每条评论comments_like,那么:

select comment_post_ID, count(distinct cl.comment_ID) 
from comments c, comments_like cl 
where c.comment_id = cl.comment_id 
group by comment_post_ID
于 2012-05-31T12:50:27.820 回答