经过研究并发现MariaDB支持通用表表达式(CTE)之后,我尝试进行这样的排名,但出现错误:
分析期间发现3个错误。
先前已找到别名。 (在位置183的“位置”附近)
期望别名。 (靠近“”,在位置182)
无法识别的关键字。 (在位置183的“位置”附近)
您的SQL语法有误。检查与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在第1行的'(PARTITION BY year ORDER BY sale DESC)位置FROM sales LIMIT 0,25'附近使用
所以我猜错误是在排名之后。怎么了。这是我的代码。
表列是
employee | year | sale
----------------------
SELECT
employee,
year,
sale,
RANK() OVER (PARTITION BY
year
ORDER BY
sale DESC
) position
FROM
sales;
最佳答案
如果有人遇到相同的问题,请知道仅10.2版支持CTE
关于mysql - 使用CTE在MySQL中的Rank(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52785603/