2013-01-10 122 views
1

在这里找不到具体的答案,如果我的含义模糊,我很抱歉,因为我努力去理解我在问什么。在SQL中结合非唯一值

我有一个名为数据表,它可以让只说已列设置最多:

Id | X 

这个数据的样本是:

Jon1 | a 
Jon1 | a 
Jon1 | d 
Jon2 | b 
Jon2 | c 
Jon2 | d 
Jon2 | c 

我试图让ID为x的计数。说X有4种不同的可能值,我们会说a,b,c,d,e。我想要做的是获得a,b,c,d的唯一ID的总数。期望的结果我想要的是:

Jon1 | 3 
Jon2 | 4 

我知道这可能是可能通过COUNT子查询,但我不知道去哪里计数链接到某个ID。这有意义吗?我想想很难。

+0

感谢编辑对我来说,NJK。 –

回答

2

试过吗?

SELECT ID, COUNT(*) 
FROM TABLENAME 
GROUP BY ID 

这里是SQL Fiddle

2

如果你不是在找一个DISTINCT COUNT那么这应该是所有你需要

SELECT Id, COUNT(X) 
FROM tbl 
GROUP BY Id 
2
SELECT id , COUNT(x) as Total FROM mytable GROUP BY id