SQL Query获取一行,以及关联行的计数

Tho*_*s R 4 sql sql-server

我有两个表,像这样:

#Articles:
ID | Title
1    "Article title"
2    "2nd article title"

#Comments:
ID | ParentID | Comment
1    1          "This is my comment"
2    1          "This is my other comment"
Run Code Online (Sandbox Code Playgroud)

我一直想知道,获得以下结果的最优雅方法是什么:

ID | Title |          NumComments
1    "Article title"      2
2    "2nd article title"  0
Run Code Online (Sandbox Code Playgroud)

这适用于SQL Server.

Joe*_*orn 17

这通常比子查询方法更快,但是一如既往,您必须对系统进行分析以确保:

SELECT a.ID, a.Title, COUNT(c.ID) AS NumComments
FROM Articles a
LEFT JOIN Comments c ON c.ParentID = a.ID
GROUP BY a.ID, a.Title
Run Code Online (Sandbox Code Playgroud)