1

次の3つのテーブルがあります。

posts
posts_replies
likes

このクエリはほぼ問題なくデータを返しますが、何らかの理由で投稿に対する返信の数が正確ではありません。

SELECT posts.title, posts.num, posts.status, posts.category, posts.content, posts.member_num, COUNT( posts_replies.post_num ) AS count, COUNT( likes.comment_num ) AS likes_count
FROM posts_replies
INNER JOIN posts ON ( posts_replies.post_num = posts.num )
LEFT JOIN likes ON ( likes.comment_num = posts_replies.num )
WHERE posts.status =1
AND posts.access = 'Public'
GROUP BY posts.num
ORDER BY count DESC
LIMIT 50

これは私が使用しているカウントです:COUNT(posts_replies.post_num)AS count

これに関するアドバイスはありますか?

ありがとうございました

4

1 に答える 1

1

クエリは、その返信にリンクされているいいねごとに、各返信を1回カウントします。

各返信を1回だけカウントするには、

COUNT( posts_replies.post_num ) AS count

COUNT(DISTINCT posts_replies.num ) AS count
于 2013-03-03T13:02:15.527 に答える