我的MySQL语句有问题。我需要一个查询来计算用户创建的评论数量和主题数量。我的表结构是这样的:MySQL连接3个表和COUNT()不工作
Table 'users'
-------------
user_id
user_name
...
Table 'topics'
--------------
topic_id
topic_user_id
...
Table 'topiccomments'
---------------------
topiccomment_id
topiccomment_user_id
...
到目前为止,我已经能够生产此查询:
SELECT
u.user_id,
u.user_name,
COUNT(t.topic_user_id) as topic_count,
COUNT(tc.topiccomment_user_id) as topiccomment_count
FROM
users as u
JOIN topiccomments as tc ON u.user_id = tc.topiccomment_user_id
JOIN topics as t ON u.user_id = t.topic_user_id
WHERE
u.user_id = t.topic_user_id AND
u.user_id = tc.topiccomment_user_id
GROUP BY
u.user_id
执行此查询,但“TOPIC_COUNT”和“topiccomment_count”值完全错误,我不明白为什么。
我希望这里有人能帮助我吗?
最好将其作为两个单独的查询来完成。如果您确实需要一个查询,那么创建两个子查询。 – mdma 2010-07-28 15:58:38
我需要它在一个查询中,因为我需要能够对'topic_count'和'topiccomment_count'字段进行mysql排序... 子查询的查询将如何看起来像?我没有任何经验与子查询... – brtdv 2010-07-28 16:01:32
也许你可以给一个例子与数据,错误和预期的结果 – Nicolas78 2010-07-28 16:01:34