我想在我的MySQL查詢中使用count來計算具有匹配列的行的數量,並且查詢正在工作,但是當select查詢count在返回正在使用沒有行,計數值仍返回0,這樣的查詢將返回一個空行,除了它具有數列中的0如果沒有找到行,MySQL make count不返回任何內容
這是我的查詢:
SELECT
forum_threads_forums.id,
forum_threads.title,
forum_threads.description,
forum_threads.views,
COUNT(DISTINCT forum_posts_threads.post_id) AS post_count,
users.id AS user_id,
users.username AS user_username
FROM
forum_threads
INNER JOIN
forum_threads_forums
ON
forum_threads.id=forum_threads_forums.thread_id
AND
forum_threads_forums.forum_id=:forum_id
LEFT OUTER JOIN
forum_posts_threads
ON
forum_posts_threads.thread_id=forum_threads_forums.thread_id
INNER JOIN
users
ON
forum_threads.user_id=users.id
當選擇查詢不返回任何行,計數仍然會。所以我得到的結果像這樣:
id title description views post_count user_id user_username
0
我想它返回什麼都沒有,所以我就可以可靠地計算與PHP的結果。
有沒有人有任何想法如何實現這一目標?我迷路了。
感謝您提前提供任何幫助。
你忘了發佈'group by'還是你沒有? – 2014-11-02 02:24:00
@ gloomy.penguin我沒有一個。我是不是該?沒有它,查詢工作正常。 – Qub1 2014-11-02 14:18:14
這取決於你要做什麼。如果你現在得到你想要的結果,那麼不要擔心。如果您需要每個用戶或某物的計數,並且結果集中有多個用戶,那麼您需要添加它。 – 2014-11-02 14:27:49