【发布时间】:2018-09-25 10:10:15
【问题描述】:
我正在使用 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 可能是解决问题的最直观的方法。有人知道吗?再次感谢!
【问题讨论】:
-
并非所有数据库都支持
dense_rank()。大概,你没有。 -
@GordonLinoff 我正在使用 Mysql。如果最近没有更新,它不支持任何窗口功能。
-
MySQL 8.0 版本支持包括
DENSE_RANK()在内的窗口函数,但该版本目前仍处于预发布阶段。 dev.mysql.com/doc/refman/8.0/en/… -
Line 2: SyntaxError: near '(order by Score) Rank from Scores order by Score desc'在我看来不像是 MySQL 错误
标签: mysql window-functions dense-rank