sql - 显示来自另一个 table 的字段数

sql - show count of field from another table

我有一个里程碑table:

和状态 table:

我有一个问题:

SELECT T1.Status,T2.MilestoneTitle FROM [Organisation].[dbo].[Status] T1
JOIN [Organisation].[dbo].[Milestone] T2 
ON T1.StatusId=T2.MilestoneStatusId WHERE T2.ProjectId=4

输出为:

现在,我想将输出显示为:

这个怎么写查询?

通过使用 Count 和 Group 我们可以实现这个

SELECT 
    T1.Status, COUNT(T2.MilestoneTitle) AS MilestoneTitleCount  
FROM 
    [Organisation].[dbo].[Status] T1
JOIN 
    [Organisation].[dbo].[Milestone] T2 ON T1.StatusId  = T2.MilestoneStatusId 
WHERE 
    T2.ProjectId = 4
GROUP BY 
    T1.Status
ORDER BY   
    T1.Status DESC
SELECT Status, COUNT(MilestoneTitle) AS MilestoneTitleCount
FROM Organisation.dbo.Status  INNER JOIN
Organisation.dbo.Milestone  ON StatusId = MilestoneStatusId
WHERE (ProjectId = 4)
GROUP BY Status

COUNT() 函数 returns 符合指定条件的行数

SELECT COUNT(column_name) FROM table_name;

GROUP BY 语句与 聚合函数 结合使用,按一个或多个列对结果集进行分组。

SELECT column_name, Count(column_name)
FROM table_name
WHERE <Confidtion>
GROUP BY column_name;