在mysql中分组分组查询结果的效率

时间:2014-02-09 09:14:22

标签: mysql sql

给出一个表格,该表格代表属于用户并且有2个colomns的对象:oiduid

我想知道有多少用户拥有多少个对象...... 即 10个用户有3个对象 20个用户有2个对象 40个用户有1个对象

我想我可以先计算每个用户的对象:

select uid,count(oid) c from t group by uid

然后撤消分组:

select c,count(uid) from 
   ( select uid,count(oid) c from t group by uid ) g
group by c

有没有办法以更有效的方式进行此类查询?

1 个答案:

答案 0 :(得分:0)

我认为在标准SQL中无法实现这一目标。如果你有一个可以使用的过程语言,你可以编写一个函数来完成它,但我认为你的子查询方法很简单,也很有效。