【发布时间】:2017-07-26 10:58:51
【问题描述】:
我有两个通过Computer_ID 连接的表。
第一个是Computer_ID、Brand、Country,其中包含计算机、它们的品牌和原产国。
第二个表包含有关 CPU 的信息:Computer_ID、CPU_Manufacture
请注意每台计算机可以有多个 CPU
我想获取每个国家/地区的 英特尔 CPU 的平均数量,该计算机的品牌为 Dell
我希望得到这样的结果:
Country |Avg CPUs
United-States|2.5
Canada |3.2
来自Computers 表的示例数据:
Computer_ID|Brand|Country
1 |Dell |United-States
2 |Lenovo|United-States
3 |Lenovo|United-States
4 |Lenovo|United-States
5 |HP |United-States
6 |Dell |Canada
7 |Dell |Canada
来自CPU 表的示例数据:
Computer_ID|CPU_Manufacture
1 |Intel
1 |Intel
2 |Intel
2 |AMD
2 |AMD
3 |AMD
4 |AMD
4 |Intel
这就是我计算每个国家英特尔制造的 CPU 数量的方法:
SELECT COMPUTERS.NATIVE_COUNTRY, COUNT(*) FROM COMPUTERS
INNER JOIN CPUS ON CPUS.COMPUTER_ID = COMPUTERS.COMPUTER_ID AND CPUS.MANUFACTURE = 'Intel'
GROUP BY COMPUTERS.NATIVE_COUNTRY;
现在基本上我需要将每个COUNT 除以每个国家/地区的Dell computers 数量。
【问题讨论】:
标签: sql sql-server join count average