2013-01-10 36 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