日期:2014-05-18  浏览次数:20469 次

分组得到组数问题。很简单的,速度来人。
SELECT O_ID FROM TABLE GROUP BY O_ID


我某表按照 O_ID进行分组,需要得到组数,
看清楚,是得到一共有多少组,而不是每组的数据量。我知道每组的数据量是
 

SELECT count(O_ID) as 数据量 FROM TABLE GROUP BY O_ID
这样的结果是

o_id
1 count(number)
2 count(number)
3 count(number) 而我想得到的是一个结果集,比如这样的数据,就是得到3,表示有3个组。

外层再套一个子查询是能实现,但是觉得麻烦。select count(*) from (SELECT O_ID FROM TABLE GROUP BY O_ID) as A

有没更好的方法

------解决方案--------------------
select count(distinct O_ID from) tbl--组数也就是不同的o_id,所以只需查询出不同的o_id有多少个
------解决方案--------------------
SQL code

SELECT COUNT(DISTINCT O_ID) FROM TABLE