oracle下如何统计同一类型的记录的条数 5

表tab,有字段type,cardNo,orgName,如何统计每个相同type的记录数,例如有记录1201103日本1201104中国2201105中国2201106中... 表tab,有字段type,cardNo,orgName,如何统计每个相同type的记录数,例如有记录
1 201103 日本
1 201104 中国
2 201105 中国
2 201106 中国
2 201107 日本
一句SQL之后查询出来的结果是:
type cardNo orgName num(记录数)
1 201103 日本 1
1 201104 中国 1
2 201105 中国 2
2 201106 中国 2
2 201107 日本 1
展开
 我来答
freechan10
2020-02-02 · TA获得超过2.9万个赞
知道小有建树答主
回答量:263
采纳率:68%
帮助的人:12.8万
展开全部

1、创建测试表;

create table test_type_num(type varchar2(20),cardNo varchar2(20),orgName varchar2(20));

2、插入测试数据;

insert into test_type_num values('1','201103','日本');

insert into test_type_num values('1','201104','中国');

insert into test_type_num values('2','201105','中国');

insert into test_type_num values('2','201106','中国');

insert into test_type_num values('2','201107','日本');

commit;

3、查询表中全量数据;select t.*, rowid from test_type_num t;

4、编写语句,统计同一类型的记录的条数;

   select t.*, count(1) over(partition by type, orgname) cnt from test_type_num t ;

badkano
推荐于2017-10-09 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885369
团长

向TA提问 私信TA
展开全部

需要用count函数。

如emp表中有如下数据:

要查询不同deptno的条数,可用如下语句:

select deptno,count(*) from emp group by deptno;

查询结果:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
psychic0111
2013-06-08 · TA获得超过999个赞
知道小有建树答主
回答量:463
采纳率:100%
帮助的人:223万
展开全部
select t.type
,t.cardNo
,t.orgName
,count(*) over(partition by t.type,t.cardNo,t.orgName) num

from tab t
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0319a0e
2015-09-18 · TA获得超过2.2万个赞
知道小有建树答主
回答量:2080
采纳率:85%
帮助的人:1153万
展开全部
select name ,count(name) from tb
group by name
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式