0

我有两个表:articles 和 article_comments(article_comments 有一个 article_id fk...) 我需要选择只有 1 条评论仅与它们相关的文章详细信息(或任何其他固定数字,1 仅作为示例)

我尝试了这样的事情并得到了一个错误:

SELECT *
FROM articles a, article_comments ac
WHERE a.article_id = ac.article_id
AND COUNT(ac.article_id) = 1
GROUP BY ac.article_id;
4

3 回答 3

1

你的答案是HAVING count(ac.article) = 1

于 2013-03-03T12:43:15.407 回答
1
SELECT  a.*
FROM    articles a
        INNER JOIN
        (
            SELECT  article_id, COUNT(*) totalComments
            FROM    article_comments 
            GROUP   BY article_id
            HAVING  COUNT(*) = 1  -- change the value here
        ) b     ON a.article_id = b.article_id
于 2013-03-03T12:44:24.950 回答
1
SELECT
 a.article_id,
 count(c.article_id)
FROM
 articles a
JOIN
 article_comments c ON c.article_id = a.article_id
GROUP BY 1
HAVING count(c.article_id) = 1;
于 2013-03-03T12:45:41.960 回答