SQL语句:用count求group by分组的个数

如person表pid,sid两字段我用sid分组,SQL语句如下:selectcount(*)num,sidfrompersongroupbysid结果如下:numsi... 如person表 pid,sid 两字段
我用sid分组,SQL语句如下:
select count(*) num,sid from person group by sid
结果如下:
num sid
5 001
10 002
12 003
0 004

我想要条SQL语句求共分有几组,如上结果是4组,应该怎么写?
展开
 我来答
freechan10
2019-11-15 · TA获得超过2.9万个赞
知道小有建树答主
回答量:263
采纳率:68%
帮助的人:12.9万
展开全部

1、创建测试表,create table test_group(pid number, sid varchar2(20));

2、插入测试数据,

insert into test_group values(1,'001');

insert into test_group values(2,'001');

insert into test_group values(2,'002');

insert into test_group values(2,'002');

insert into test_group values(2,'002');

insert into test_group values(3,'003');

insert into test_group values(3,'003');

insert into test_group values(null,'004');

3、查询表中记录,select t.*, rowid from test_group t;

4、编写sql,将记录分组后,记录组数,结果为4组,

select count(*) from (select count(*) num,sid from test_group group by sid)

nomanland
推荐于2017-12-15 · TA获得超过1218个赞
知道小有建树答主
回答量:958
采纳率:0%
帮助的人:615万
展开全部
select count(*) num,sid into #a from person group by sid
select count(*) from #a

或者
select count(*) from (select count(*) num,sid from person group by sid )
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
abzs7
2018-01-09
知道答主
回答量:20
采纳率:0%
帮助的人:4.7万
引用nomanland的回答:
select count(*) num,sid into #a from person group by sid
select count(*) from #a

或者
select count(*) from (select count(*) num,sid from person group by sid )
展开全部
from括号后面要带重命名
select count(*) from (select count(*) num,sid from person group by sid ) rename
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Demon_Feifei
2017-12-14
知道答主
回答量:3
采纳率:0%
帮助的人:1.7万
展开全部
select count(*) from (select sid from person group by sid) s;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式