0

私はこれらの3つのテーブルを持っています:

1. posts (num, title, createdDate)
2. comments (num, post_num, parent_comment)
3. likes (comment_num)

次の結果を得るためにクエリを実行しようとしています。

1. all posts
2. comments count including replies
3. replies count only (comments.parent_comment != 0)
4. total likes count
5. total participants in a post

これまでのところ、#3 を除くすべてに満足しています。つまり、返信数のみ (comments.parent_comment != 0) です。

これはクエリです:

SELECT 
posts.num, 
posts.title, 
DATEDIFF(NOW(),posts.createdDate) as NumOfDays,
COUNT( comments.num)  AS totalComments,
COUNT( CASE WHEN comments.parent_comment=0 THEN 0 ELSE comments.parent_comment END)  AS totalReplies,


COUNT( likes.comment_num  ) AS totalLikes,
COUNT( DISTINCT comments.member_num)  AS participants,
cms_uploads.urlPath

FROM posts
LEFT JOIN comments ON comments.post_num = posts.num
LEFT JOIN likes ON likes.comment_num = comments.num


GROUP BY posts.num
ORDER BY totalComments DESC

私が持っている結果は、 「totalReplies」カウントが「 totalComments カウントに似ていることです。

正しい totalReplies カウントを取得してこれを機能させるにはどうすればよいですか?

ありがとう!

4

2 に答える 2