我当前的查询如下所示:
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
我搜索的范围很广,但我似乎无法获得将此查询正确放在一起所需的信息。任何帮助将不胜感激。
谢谢,
答案 0 :(得分: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) , y
与DISTINCT x, y
完全相同。使用GROUP BY
时,保证每组只能获得一行。这里没有必要使用DISTINCT
。