首页 > 解决方案 > 在 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 新手,所以任何帮助对我来说都很重要

标签: sqlsqlitewindow-functionsdbeaver

解决方案


您必须使用旧版本的 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(和其他一些数据库)中,它是可选的。


推荐阅读