首页 > 数据库 >SQL—排序专用窗口函数

SQL—排序专用窗口函数

时间:2024-01-22 12:34:19浏览次数:36  
标签:位次 函数 条排 rank 位时 SQL 窗口 排序

下面介绍三种用于进行排序的专用窗口函数:

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 <排序用列清单> )

*其中[ ]中的内容可以忽略

例如:题目源自牛客网

 代码:

select emp_no, salary,
       dense_rank() over (order by salary desc) as t_rank
from salaries
where to_date='9999-01-01'
order by t_rank asc,emp_no asc;

 

标签:位次,函数,条排,rank,位时,SQL,窗口,排序
From: https://www.cnblogs.com/dd0016/p/17979799

相关文章

  • Mysql UDF提权实验
    通过实训平台学习一下UDF提权实验环境 实验原理udf='userdefinedfunction',即‘用户自定义函数’。是通过添加新函数,对MYSQL的功能进行扩充,性质就象使用本地MYSQL函数如abs()或concat()。udf在mysql5.1以后的版本中,存在于‘mysql/lib/plugin’目录下,5.1之前位于“C:\Windo......
  • win10上安装PostgreSQL的 vector扩展
    win10上安装PostgreSQL的vector扩展错误:extension"vector"isnotavailable\nDETAIL:Couldnotopenextensioncontrolfile"D:/ProgramFiles/PostgreSQL/16/share/extension/vector.control":Nosuchfileordirectory.\nHINT:Theextensionmus......
  • MySQL-8.3.0 innovation 创新版本YUM安装配置
     MySQL-8.3.0innovation版本已发布了,想抢先体验一下最新的功能,可以用以下的方式快速在虚拟机上安装一下哈 服务器环境:[root@node213~]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)[root@node213~]#uname-aLinuxnode2133.10.0-1160.el7.x86_64#1......
  • ubuntu22.04 mysql服务每天自动shutdown问题
    1.问题描述MYSQL每天自动关闭,查看/var/log/mysql/error.log.1.gz,内容如下:2019-06-12T06:33:13.582973+08:000[Note]Shuttingdownplugin‘CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS’2019-06-12T06:33:13.583022+08:000[Note]Shuttingdownplugin‘CONNECTION_CON......
  • Spark SQL五大关联策略
    1、五种连接策略选择连接策略的核心原则是尽量避免shuffle和sort的操作,因为这些操作性能开销很大,比较吃资源且耗时,所以首选的连接策略是不需要shuffle和sort的hash连接策略。◦BroadcastHashJoin(BHJ):广播散列连接◦ShuffleHashJoin(SHJ):洗牌散列连接◦ShuffleSortMergeJoi......
  • sqlglot python sql 解析以及翻译工具
    sqlglot实际上是由和sqlmesh一个团队开发的就用python的sql解析以及翻译工具,功能还是比较强大的支持20多种sql方言的格式化以及翻译,sqlmesh就使用了此工具包,当然相比其他一些工具,性能也是很不错的参考资料https://github.com/tobymao/sqlglothttps://sqlglot.com/sqlglot.html......
  • Mysql日志审计自动备份日志(按天)
    echooffecho------------------开始备份日志文件------------------setymd=%Date:~0,4%%Date:~5,2%%Date:~8,2%setbackup-dir=C:\tools\mysql-server-auditsetpwd=%你自己的数据库密码%echo备份目录:%backup-dir%echo--------------------------------------------------if......
  • 【LeetCode 2494. 合并在同一个大厅重叠的活动】[MySQL 用户变量/Pandas]面向过程编程
    目录题目地址MySQL代码等效pandas代码题目地址https://leetcode.cn/problems/merge-overlapping-events-in-the-same-hall/MySQL代码#WriteyourMySQLquerystatementbelowwitht2as(select*#----只需要改动这里的逻辑,其他不要动。注意里面的语句是“顺序......
  • 【LeetCode1747. 应该被禁止的 Leetflex 账户】[MySQL 用户变量/Pandas]面向过程编程;
    目录题目地址MySQL代码等效pandas代码题目地址https://leetcode.cn/problems/leetflex-banned-accounts/description/MySQL代码witht1as(selectaccount_id,ip_address,loginastick,"login"asmytypefromLogInfounionallselectaccount_id,ip......
  • 【LeetCode 2701. 连续递增交易】[MySQL 用户变量/Pandas]面向过程编程得到严格递增连
    目录题目地址MySQL代码等效pandas代码题目地址https://leetcode.cn/problems/consecutive-transactions-with-increasing-amounts/MySQL代码#WriteyourMySQLquerystatementbelowwitht1as(select*#--------------------------只需要改动这里的逻辑,其他......