如何从多表查询COUNT(*)?

时间:2011-09-25 14:00:59

标签: sql select count

我有两个表,Snippets和Comments。 Snippets有一个Id列,而Comments有一个SnippetId列。

我想计算每个代码段的评论数量。

我试过了:

   SELECT
      S.Id,
      S.Title,
      COUNT(*) AS CommentCount
    FROM
      Snippets S,
      Comments C
    WHERE
      S.Id = C.SnippetId

但它不起作用。它返回注释总数,只返回一行。

我希望得到这样的结果:

Id | Title | CommentCount
 1 |  Test |          314
 2 | Test2 |           42

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:6)

你几乎是正确的;你只是错过了一个GROUP BY条款:

SELECT
  S.Id,
  S.Title,
  COUNT(*) AS CommentCount
FROM
  Snippets S,
  Comments C
WHERE
  S.Id = C.SnippetId
GROUP BY S.Id, S.Title

答案 1 :(得分:0)

如何添加

group by S.Id ,S.Title

在你的SQL的末尾