情景:
我有一个包含不同公司名称的数据表。对于该表中的每个不同公司,我想计算其现有的位置数。
示例数据:
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
全部
答案 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