千呼万唤使出来,MySQL8终于支持分析函数了。

-- auto-generated definition
create table AB_EMPLOYEE
(
  EMP_ID    varchar(15) null,
  EMP_NAME  varchar(25) null,
  DEPT_ID   varchar(15) null,
  EXPERTISE varchar(25) null,
  SALARY    decimal     null,
  RESULTS   varchar(10) null
);

INSERT INTO `AB_EMPLOYEE` VALUES ('5003','ABINASH','1','SCIENCE',50000,'PASS'),('5003','ABINASH','1','ENGLISH',50000,'PASS'),('5003','ABINASH','1','MATH',50000,'PASS'),('107','AMARESH','2','MATH',50000,'PASS'),('107','AMARESH','2','ENGLISH',50000,'PASS'),('105','JYOTI','3','MATH',75000,'FAIL'),('105','JYOTI','3','ENGLISH',75000,'PASS'),('7003','NISHAD','2','ENGLISH',70000,'FAIL'),('7003','NISHAD','2','MATH',70000,'PASS'),('6003','RAKESH','2','MATH',50556,'PASS'),('6003','RAKESH','2','ENGLISH',50556,'FAIL'),('104','RAVI','2','MATH',70000,'PASS'),('104','RAVI','2','ENGLISH',70000,'PASS'),('106','REDDY','2','MATH',80000,'FAIL'),('106','REDDY','2','ENGLISH',80000,'PASS');
select *,
  ROW_NUMBER() OVER(partition by DEPT_ID order by SALARY desc) as ROW_NUM,
  RANK() OVER(partition by DEPT_ID order by SALARY desc) as rank_num,
  DENSE_RANK() over(partition by DEPT_ID order by SALARY desc) as d_rank_num
from AB_EMPLOYEE
ORDER BY DEPT_ID,SALARY DESC

923053e3825a0c6ff06e3d0aad096609033.jpg

 

转载于:https://my.oschina.net/u/3103453/blog/3042381

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值