2011-10-21 143 views
2

我當前的查詢看起來是這樣的:MySQL的計數結果的返回的計數設爲

SELECT DISTINCT (member), count(UID) AS numUID 
FROM memberdata 
GROUP BY Member 
ORDER BY count(UID) DESC 

我回來,看起來很像是:

A name 1 175 
A name 2 38 
A name 3 37 
A name 4 36 
A name 5 36 

我現在想做什麼就是讓numUID的計數,在上面的例子中,我可以得到這樣的結果:

**numUID** **COUNT** 
    175   1 
    38   1 
    37   1 
    36   2 

我已經搜查甚廣,但我似乎無法到g等我需要把這個查詢正確地結合在一起的信息。任何幫助,將不勝感激。

感謝,

回答

3

使用子查詢和另一GROUP BY:

SELECT numUID, COUNT(*) 
FROM (
    SELECT member, count(UID) AS numUID 
    FROM memberdata 
    GROUP BY Member 
) T1 
GROUP BY numUID 

我還要提醒你,你也濫用DISTINCT。當您使用DISTINCT時,它總是查看整行。寫作DISTINCT(x) , yDISTINCT x, y完全相同。當您使用GROUP BY時,可以保證每組只有一行。這裏不需要使用DISTINCT

+0

+1打我,以相同的答案:) –

+0

輝煌,並感謝額外的信息在不同! –