我遇到了自己对 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
我想子查询在这里是最简单的:
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 个点赞
此查询在 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
select cmtLike.like_ID, commnts.comment_post_ID
from comments_like cmtLike left join comments commnts on cmtLike.comment_ID = commnts.comment_ID
如果您只需要计算一次列出的每条评论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