低版本5.7mysql使用dense_rank() over..窗口函数的办法

news/2025/1/2 1:14:43/

首先执行select version();可以看到数据库的mysql版本为5.7.22-log

在使用 dense_rank() over()、rank() over()、row_num() over() 三个函数时, SQL错误(1064) : You have an error in your sQLsyntax; check the manual that corresponds toyour MySQL server version for the right syntax touse near "(order by salary ) ‘dense_rank’
FROM employee’ at line 1。
大概率原因:数据库版本过低,版本不支持用窗口函数。
————————————————
版权声明:本文为CSDN博主「Java~ni源」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Dfgghyyy/article/details/129714718

排名函数选中方案如下:
SQL语句中的排名分析函数
MySQL中的排名函数
而此时我们需要使用DENSE_RANK() OVER(ORDER BY qz DESC)函数来在sql中进行排名计算
具体解决sql
参考文档:
Mysql 5.7版本手写sql 实现 Mysql 8.x版本的 dense_rank() over()函数的效果
低版本mysql 实现row_number() ,rank() ,dense_rank()及其窗口函数

select * from
(select s.*,r.*,if(@Qz = s.qz,@dense_rank := @dense_rank,@dense_rank := @dense_rank + 1) as `rank`,@Qz := s.qzfrom xxxxxx s , (select @Qz := NULL,@dense_rank := 0) rorder by cast(s.qz as signed) desc
) t;

我的数据库的qz是varchar类型的整形数字,排序的时候需要做转化
比如使用CAST(expression AS TYPE); 函数
类型参考
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED
mysql如何将varchar转换为int类型


http://www.ppmy.cn/news/946054.html

相关文章

matlab多核,MATLAB多核循环并行

Mathwoks在Matlab R2007a版本的Parallel Computing Toolbox(并行计算工具箱)中加入了并行循环parfor-loops,对于每一步可以独立于其他步的循环,计算效率可以有较大幅度的提高。以前简单的for循环for-loop是顺序的(sequentially)执行每一步循环体(stateme…

【AutoSAR】【多核】通信机制

目录 前言: 一、RPC(Remote Procee Call) 二 、Satellite机制 三、Proxy机制 前言: 多核应用软件架构,如下图:

Zynq 器件搭建多核系统

Zynq系列器件提供双核Cortex-A9 ARM硬核,同时PL还支持MB软核,现在就掰一掰这三核共存怎么用。 1 多核框架 多核框架如图1所示,PL内使用MicroBlaze软核,PS内为ARM双硬核,通用外设控制器、DDR挂在PS上,PL和P…

单核CPU与多核CPU的区别

1、单核CPU 1.1 工作原理 工作原理:单核CPU较为死脑,在通电时该CPU就会执行存储块中的指定地址的指令,如果你想要执行内存块其他地方的代码必须调整总线位置才可以让其执行。单核CPU就相当于阻塞程序,在工作期间只能执行某一个程…

c语言多核编程,多核并行计算——并发与并行编程问题

并发是用来描述并行执行的方式(看上去一起发生的事件,例如目前操作系统的多任务调度程序,看上去桌面上有许多程序在同时运行.),并发是形容词. 并行是指通过并发将一个操作分解成一组粒度更细的工作单元,并且这些工作单元可以在不同的处理器内核上运行.并行是动词,指必须有两个以…

多核MCU可用于简化嵌入式设计

转自:http://www.elecfans.com/d/851199.html 嵌入式系统设计人员面临着对更高性能和更快上市时间的不断增长的需求。嵌入式处理器需要经常实时地执行不断扩展的任务。同时,应用需要高吞吐量和高能效以及小外形和低成本。多核微控制器单元(M…

golang 多核编译

go help build 构建编译由导入路径命名的包,以及它们的依赖关系,但它不会安装结果. 使用 go build [-o 输出名] [-i] [编译标记] [包名] 如果参数为***.go文件或文件列表,则编译为一个个单独的包。 当编译单个main包(文件&…

ARM64 的多核启动流程分析

工作中遇到的多核 ARM CPU 越来越多,总结分享一些多核启动的知识,希望能帮助更多小伙伴。 在 ARM64 架构下如果想要启动多核,有 spin-table 和 psci 两种方式,下面针对这两种启动流程进行分析。 代码版本 boot-wrapper-aarch64 ve…