oracle——数据表的数据查询——oracle高级函数

sql查询

oracle高级函数

create table yuangong ( id number,
                        name varchar2(50),
                        zhiwei varchar2(50),
                        age number,
                        sex varchar2(20)
                      ) tablespace test
                      
insert into yuangong values(1,'周磊01','操作工',21,'男');
insert into yuangong values(2,'周磊02','操作工',21,'女');
insert into yuangong values(3,'周磊03','操作工',22,'男');
insert into yuangong values(4,'周磊04','操作工',24,'女');
insert into yuangong values(5,'周磊05','操作工',26,'男');
insert into yuangong values(6,'周磊06','操作工',24,'女');
insert into yuangong values(7,'周磊07','操作工',29,'男');
insert into yuangong values(8,'周磊08','操作工',22,'女');
insert into yuangong values(9,'周磊09','操作工',27,'男');
insert into yuangong values(10,'周磊10','操作工',25,'女');

insert into yuangong values(11,'周11磊','头目',34,'男');
insert into yuangong values(12,'周12磊','头目',31,'女');
insert into yuangong values(13,'周13磊','头目',31,'男');
insert into yuangong values(14,'周14磊','头目',34,'女');

insert into yuangong values(15,'周15磊','经理',45,'男');

select * from yuangong;

drop table yuangong;

1、rank()函数用于返回当前记录在窗口函数所指定的记录集中的排名 select name,rank() over( order by age ) position from yuangong; rank()函数用于返回当前记录在窗口中的排序序号,对于排名相同的记录,函数返回排序相同的排序序号; 当出现多个排名相同的记录时,下一排名序号,将根据前一排名各个数进行跳跃。


2、相对于rank()函数,dense_rank()函数所获得的排名,则不会出现跳跃。 select name,dense_rank() over( order by age ) position from yuangong; 注意:rank()函数和dense_rank()函数对于排名相同的多条记录,返回相同的排名序列号,而函数row_number()函数每条记录都会存在唯一的排名序号 select name,row_number() over( order by age ) position from yuangong;
row_number()函数每次均返回唯一的排序序列号。 ------------------------------------------------------------------------------------------------------------ 分区窗口 对于窗口函数,利用partition by 关键字可以指定分区窗口 select xinzi.*,dense_rank() over ( partition by zhiwei order by jine ) position from xinzi,yuangong order by yuangong.id;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值