dense_rank函数错误,无法继续操作



我在Fiddle应用程序中使用了以下查询用于学习目的,但它抛出了错误:

with result as 
(
select salary, dense_rank() over (order by salary desc) as 'dense_rank'
from salary
)
select salary from result where result.denserank = 3 

错误:

您的SQL语法有错误;查看手册与您的MySQL服务器版本相对应,以便使用正确的语法第1行的"接近"(按薪资递减顺序(为"DENSE_RANK">

接下来要做什么。?Mysql和postgreSql也是相同的

显然,您使用的MySQL版本支持CTE,但不支持Window函数。MySQL 8.0.1就是这样的版本(8.0.1首次引入了CTE,8.0.2引入了窗口函数(。

您需要使用MySQL的最新版本,并(ii(将where result.denserank = 3更改为where result.dense_rank = 3

最新更新