我使用以下MySQL來返回帖子列表及其相應的評論。MySQL - 如何統計主查詢中的行數,忽略子查詢行?
SELECT *
FROM forum_qa
JOIN user_profiles
ON user_id = forum_qa_author_id
LEFT JOIN (SELECT forum_cm_id,
forum_cm_author_id,
forum_qa_id_fk,
forum_cm_text,
FROM forum_cm
JOIN user_profiles
ON user_id = forum_cm_author_id) AS c
ON forum_qa_id = c.forum_qa_id_fk
WHERE forum_qa_parent_id = $forum_qa_id
如果我運行
$data['num_answers'] = $query->num_rows();
這可以讓我返回的行數和數組傳遞給我的控制器和視圖。
但是,這是返回全部行(帖子+評論)。所以如果1篇文章有10條評論,它會返回10
。
我怎麼能讓這個查詢只計算髮布的數量(即返回1
)不包括子查詢?
每個帖子都有保存在forum_qa.forum_qa_id
每條評論都有保存在forum_cm.forum_cm_id
唯一ID的唯一ID。
感謝您的幫助 - 如果需要,會發布更多代碼。
如果一篇文章有10條評論,我希望你得到'10'而不是'11'。 –
是的,這是正確的我修正了OP – pepe