SQL,包含元素数量的额外列

时间:2016-05-25 13:18:15

标签: sql sql-server

我的查询包含此信息

select accounts, associated from companies

结果:

Accounts: - Associated:
C10       -   a1
C10       -   a1
C10       -   b1
C82       -   a1
C82       -   c3
B7        -   a1
B7        -   a1
R5        -   c4
Q1        -   a1

我喜欢写一个查询来计算每个帐户的关联总数,并得到这个结果(2个不同的列):

Accounts: - Number:
C10       -  2
C82       -  2
B7        -  1
R5        -  1
Q1        -  1

请帮忙吗?我确信我可以,但我不知道如何:S

新问题最初发布为答案:

表:

Accounts: - Associated:
C10       -   a1
C10       -   a1
C10       -   b1
C82       -   a1
C82       -   c3
B7        -   a1
B7        -   a1
R5        -   c4
Q1        -   a1

我必须根据2列(相关联)进行计数才能获得此结果:

Accounts: - Number:
C10       -  2
C82       -  2
B7        -  1
R5        -  1
Q1        -  1

1 个答案:

答案 0 :(得分:4)

您应该在GROUP BY(或companyid列的任何内容)上执行Accounts,并使用COUNT()汇总功能

SELECT companyid, count(*) AS Cnt
FROM companies
GROUP BY companyid 

回答问题2:

SELECT companyid, COUNT(DISTINCT Associated) AS Cnt
FROM companies
GROUP BY companyid