说我有
SELECT *, count(userid)
FROM stars
GROUP by userid
如何通过GROUP by userid
count(userid)
更改为分组
我搜索谷歌但找不到任何东西。
对于那些陷入困境的人:我想计算有多少用户拥有X个星星。
答案 0 :(得分:2)
使用两级group by
:
select cnt, count(*), min(userid), max(userid)
from (select userid, count(*) as cnt
from stars
group by userid
) u
group by cnt
order by cnt;
我将这种类型的查询称为“直方图直方图”查询。我添加了min()
和max()
值,因为我经常会发现那些对进一步调查有用的内容。