【发布时间】:2022-01-27 05:26:15
【问题描述】:
我正在解决一个hackerrank SQL 问题,您可以在 [这里][1] 看到它,我已经使用其他方法解决了它,但我想尝试同样的窗口函数,所以我运行了一个基本查询了解窗口函数。
SELECT salary, SUM(salary) OVER (ORDER BY salary) AS running_total
FROM Employee;
但我收到以下错误。
第 4 行出现 ERROR 1064 (42000):您的 SQL 语法有错误; 检查与您的 MySQL 服务器版本相对应的手册 在 '(ORDER BY Salary) AS running_total FROM 附近使用正确的语法 第 2 行的员工
我很困惑为什么它会抛出错误。 P.S:我上面发布的查询并没有解决问题,只是尝试理解窗口函数,如果您可以使用窗口函数解决整个问题并将其写在答案中,也将帮助我了解更多信息。如果您需要更多详细信息,请在 cmets 中提及。
Table name- Employee
columns:
employee_id-> integer
name-> string
months-> integer
salary-> integer
Mysql 版本 - 8.0.20 [1]:https://www.hackerrank.com/challenges/earnings-of-employees/problem?isFullScreen=true
【问题讨论】:
-
你的mysql版本是多少?
-
您能提供一些示例数据并期待结果吗?
-
看起来你的 MySQL 是 5.x,它没有实现窗口函数。升级到 8+ 版本。
-
@D-Shih 问题中也提到了,再一次,hackerrank.com/challenges/earnings-of-employees/…
-
@Akina idk 版本,因为它是 HackerEarth 的默认 SQL IDE。