sql - 在 DBeaver 中使用窗口函数时出现语法错误
问题描述
我正在尝试用 SQL 编写窗口函数(我使用 DBeaver)。该脚本非常简单,但是,我收到了错误
SQL Error: Syntax error: Encountered " "(" "( "" at line 4, column 20.
Was expecting:
<EOF>
编码:
SELECT
Athlete,
Event,
row_number() OVER() AS num
FROM summer;
我是 SQL 新手,所以任何帮助对我来说都很重要
解决方案
您必须使用旧版本的 SQLite。此代码工作正常:
create table summer (
athlete int,
event int
);
SELECT
Athlete,
Event,
row_number() over () AS num
FROM summer;
这是一个 db<>fiddle。
窗口函数是在 3.25 版本中引入的。您可以使用以下命令检查您的版本:
select sqlite_version();
ORDER BY
请注意,SQL标准指定ROW_NUMBER()
. 在 SQLite(和其他一些数据库)中,它是可选的。
推荐阅读
- selenium - Selenium Grid:具有许多实例的节点与每个节点的实例
- iis - 是否可以将 DebugDiag 配置为不为计划的 IIS 应用程序池回收生成转储?
- ios - 如何将数据从模态呈现的 ViewController 传递到 Xamarin.iOS 中的另一个 ViewController?
- python - 通过 AWS Athena 查询结果分页时如何跳过标题
- sql - 获取存储在 varchar2 列中的 XML 标记数据
- html - 如何根据所选选项的高度调整选择菜单的大小?
- android - 大约 20 分钟后,某些 Android Oreo 手机上的应用程序被杀
- html - 将类切换到角度 4 中的一个按钮
- graphql - 远程服务器上的 Apollo Playground
- java - 尝试运行 HAPI TestPanel 源代码