毛小兔 level
获赞
65
粉丝
3
关注
3
看过 TA
3
门头沟学院
2019
Java
IP属地:未知
暂未填写个人简介
私信
关注
头像
2020-09-15 17:05
Java
这道题目考察的是SQL窗口函数(OLAP函数)中用于排序的专用窗口函数用法但是由于关系数据库提供支持OLAP用途功能时间不长还有一部分DBMS不支持这个新功能(比如MYSQL)复制代码12345select emp_no, salary,       dense_rank() over (order by salary desc) as rankfrom salarieswhere to_date='9999-01-01'order by rank asc,emp_no asc;下面介绍三种用于进行排序的专用窗口函数:1、RANK()    在计算排序时,若存在相同位次,会跳过之后的位次。    例如,有3条排在第1位时,排序为:1,1,1,4······2、DENSE_RANK()    这就是题目中所用到的函数,在计算排序时,若存在相同位次,不会跳过之后的位次。    例如,有3条排在第1位时,排序为:1,1,1,2······3、ROW_NUMBER()    这个函数赋予唯一的连续位次。    例如,有3条排在第1位时,排序为:1,2,3,4······窗口函数用法: OVER ( [PARTITION BY  ]                                ORDER BY  )*其中[ ]中的内容可以忽略  我已经通过这道算法题!对所有员工的当前(to_date='9999-01-01')薪水按照salary进行按照1-N的排名,相同salary并列且按照emp_no升序排列CREATE TABLE `salaries` (`... https://www.nowcoder.com/questionTerminal/b9068bfe5df74276bd015b9729eec4bf
0 点赞 评论 收藏
转发
牛客网
牛客企业服务