分别计算列中的值

Jos*_*hua 2 sql t-sql sql-server pivot

我的数据库中有一个表,具有以下结构.

ID   COMPANY_ID  Status
-----------------------
1       10         1 
2       10         2
3       12         2 
4       12         2 
5       12         1 
6       13         3 
7       14         3 
8       14         3 
9       10         1
10      10         2
Run Code Online (Sandbox Code Playgroud)

我想将我的结果分组到公司ID上并计算每个状态并将它们列为单独的列.

COMPANY_ID   Status 1   Status 2   Status 3
-------------------------------------------
10             2           2           0
12             1           2           0
13             0           0           1
14             0           0           2
Run Code Online (Sandbox Code Playgroud)

我的问题是如何从我的表中获得上述结果?并且可能加入公司表.

尝试了几种可能性,但没有得到结果.

And*_*mar 6

select  company_id
,       count(case when status = 1 then 1 end) as [Status 1]
,       count(case when status = 2 then 1 end) as [Status 2]
,       count(case when status = 3 then 1 end) as [Status 3]
from    YourTable
group by
        company_id
Run Code Online (Sandbox Code Playgroud)