您当前的位置: 首页 >  ar

Dream丶Killer

暂无认证

  • 5浏览

    0关注

    188博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

(较难)SQL练习23:对所有员工的当前薪水按照salary进行按照1-N的排名

Dream丶Killer 发布时间:2021-02-02 23:10:23 ,浏览量:5

SQL练习23:对所有员工的当前薪水按照salary进行按照1-N的排名
      • 题目描述
      • 考察知识点
      • 解题思路

题目描述

有一个薪水表 salaries 简况如下: 在这里插入图片描述 对所有员工的薪水按照 salary 降序进行 1-N 的排名,要求相同 salary 并列且按照 emp_no 升序排列: 在这里插入图片描述

考察知识点

窗口函数 DENSE_RANK()ORDER BY

解题思路

根据题目的要求,可以使用窗口函数进行排序。

SELECT emp_no, salary, DENSE_RANK() OVER(ORDER BY salary DESC)
FROM salaries

三种排序的窗口函数:

  • RANK() 在排序时,若有相同位次,会跳过这些位次进行排序。 例如,有3条数据排在第1位时,排序为:1,1,1,4······
  • DENSE_RANK() 在计排序时,若存在相同位次,不会跳过之后的位次。 例如,有3条数据排在第1位时,排序为:1,1,1,2······
  • ROW_NUMBER() 这个函数赋予唯一的连续位次。 例如,有3条数据排在第1位时,排序为:1,2,3,4······

题目来源:牛客网-SQL数据库实战题

✅ 每日打卡,❤ 点个赞再走吧!!!❤ 在这里插入图片描述 后续会继续分享 Mysql 方面的文章,如果感兴趣的话可以点个关注不迷路哦~。

关注
打赏
1655344294
查看更多评论
立即登录/注册

微信扫码登录

0.0449s