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

2 sql select count

我有两个表,片段和评论.Snippets有一个Id列,而Comments有一个SnippetId列.

我想计算每个片段的评论数量.

我试过这个:

   SELECT
      S.Id,
      S.Title,
      COUNT(*) AS CommentCount
    FROM
      Snippets S,
      Comments C
    WHERE
      S.Id = C.SnippetId
Run Code Online (Sandbox Code Playgroud)

但它不起作用.它返回注释总数,仅返回一行.

我希望得到这样的结果:

Id | Title | CommentCount
 1 |  Test |          314
 2 | Test2 |           42
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Mic*_*ski 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
Run Code Online (Sandbox Code Playgroud)