MySQL选择if还是count

时间:2015-03-05 17:27:59

标签: mysql

对不起,我说一点英语。我希望列出主题,如果超过0个帖子。

CREATE TABLE topics ( id );
CREATE TABLE posts ( id, topic_id ); -- posts(topic_id)=topics(id)

没关系:

SELECT * FROM topics;

我想只有主题如果计数帖子> 0:

SELECT * FROM topics WHERE posts > 0;

感谢。

3 个答案:

答案 0 :(得分:0)

尝试类似:

SELECT * 
FROM topics t INNER JOIN posts p
ON t.id = p.topic_id

答案 1 :(得分:0)

你不需要计算任何东西。 posts表中的任何主题必须至少有一个帖子。所以只需从那里获取所有主题ID:

SELECT DISTINCT topic_id
FROM posts

答案 2 :(得分:0)

只需加入posts表即可。默认inner join仅返回可以建立posts表的链接的行,换句话说,至少有一个帖子的主题。

select t.*
from topics
join posts p on t.id = p.topic_id