为什么我不能将 dense_rank 用于 SQL 'rank scores'?

Why can't I use dense_rank for SQL 'rank scores'?

我正在使用 SQL 中的 dense_rank 函数来解决 leetcode 'rank scores' 问题(https://leetcode.com/problems/rank-scores/description/):

select Score, dense_rank() over (order by Score) Rank
from Scores
order by Score desc

它总是给我以下错误:

Line 2: SyntaxError: near '(order by Score) Rank
from Scores
order by Score desc'

我想知道如何使这个答案正确?非常感谢!

此外,我意识到大多数人在不使用 DENSE_RANK 函数的情况下使用答案,这很令人困惑,因为对我来说 DENSE_RANK 可能是解决问题的最直观方法。有人知道吗?再次感谢!

已编辑答案

我的SQL不支持dense_rank,但支持其他window功能。 查看 答案以获得帮助。

或者您可以 运行 另一个 SQL 服务器中的代码

Windows 类似 rank()dense_rank() 的函数在较新版本的 MySQL 中得到支持。

更改您的 SQL 查询,即 as Rank 中的 as "Rank" 以通过 leetcode 测试用例。