SQL查询,用于计算列中其他列中每个不同值的不同值

时间:2017-11-18 14:10:51

标签: sql

情景:

我有一个包含不同公司名称的数据表。对于该表中的每个不同公司,我想计算其现有的位置数。

示例数据:

Cmpny.COMPANY ID | Cmpny.OFFICELOCATION

1      |       1
1      |       1
1      |       2
1      |       3    
2      |       1
2      |       4
2      |       4
2      |       2

结果要求:

COMPANY ID | OFFICELOCATION | Count(OfficeLocation)

    1      |       1        |       2
    1      |       2        |       1
    1      |       3        |       1
    2      |       1        |       1
    2      |       2        |       1    
    2      |       4        |       2

全部

1 个答案:

答案 0 :(得分:0)

GROUP BY语句通常与聚合函数(COUNT,MAX,MIN,SUM,AVG)一起使用,以将结果集分组为一列或多列。 所以这里聚合函数Count(CompanyOfficeLocation),其数量取决于CompanyID,然后取决于Office Location。

以下SQL语句按CompanyID计算Office位置

select CompanyID,CompanyOfficeLocation,
count(CompanyOfficeLocation) [Count(OfficeLocation)]
FROM [dbo].[Compny]
group by CompanyID,CompanyOfficeLocation
order by CompanyID,CompanyOfficeLocation