组合相似的名称并计算与单个列不同的名称

时间:2017-08-14 17:55:31

标签: sql sql-server database sql-server-2008 data-manipulation

我正在尝试在单个列中组合具有相似名称的行。我使用的数据有一些客户名列同名:

| Client_Column | Address |
|   XYZ ISD     | 1 Drive |
|   XYZ ISD     | 2 Drive |
|   XYZ ISD     | 3 Drive |

但是,有些记录中同一个客户端具有不同但名称相似的备用地址:

| Client_Column  |  Address | 
|    ABC Inc.    | 101 Lane | 
|  ABC Inc. - P1 | 102 Lane | 
|  ABC Inc. - P2 | 103 Lane | 

我想计算表中每个客户端的不同地址总数。因此,在此示例中,XYZ ISD和ABC Inc.将各自具有3个唯一地址。如何调整脚本以便达到此结果?

我想我需要使用SUM来汇总总数,但我不确定如何。我可以精确计算具有完全相同名称的客户端的地址,但只有相似名称的客户端显示AddressCount的单个记录。

这是脚本:

SELECT ClientName, COUNT(Address) AS AddressCount
FROM tableA 
GROUP BY ClientName
ORDER BY AddressCount

结果:

| Client_Column | AddressCount |
|    Blue LLC   |      15      | 
|    PSC Parts  |      14      |
|    ABC Inc.   |       1      |
| ABC Inc. - P1 |       1      |
| ABC Inc. - P2 |       1      |

0 个答案:

没有答案