SQL计算另一个值的不同值

时间:2013-07-17 16:21:41

标签: sql sql-server sql-server-2008

说我有一个看起来像这个列名的表(cusip_nbr,partc_nbr)让我们调用表标题table_cusip(抱歉不知道如何格式化btw)

cusip_nbr ----- partc_nbr

00162Q106 ------------ 0756
00162Q106 ------------ 0231
00162Q106 ------------ 0756
00162Q106 ------------ 0231
231292106 ------------ 0412
231292106 ------------ 0395
231292106 ------------ 0101
231292106 ------------ 0291
43129U101 ------------ 0756
43129U101 ------------ 0395
43129U101 ------------ 0921
43129U101 ------------ 0756

我可以编写哪些SQL代码来返回一个表(基本上是查看cusip_nbr并查看每个cusip_nbr有多少个不同的参与者号码)? - > 00162Q106有2个不同的成员,231292106有4个,43129U101有3个。(这只是我的表的一小部分我可能需要1,300个cusip_nbrs来计算成员)

cusip_nbr ---- nbr_of_members

00162Q106 ----------------- 2
23129106 -------------------- 4
43129U101 ------------------ 3

2 个答案:

答案 0 :(得分:6)

select cusip_nbr, count(distinct partc_nbr) as nbr_of_members
from table_cusip 
group by cusip_nbr

答案 1 :(得分:0)

您需要选择分组

Select cusip_nbr, count(distinct partc_nbr)
from table_cusip 
group by cusip_nbr