sql—在dbeaver中使用窗口函数时出现语法错误

ybzsozfc  于 2021-07-29  发布在  Java
关注(0)|答案(2)|浏览(482)

我正在尝试用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新手,所以任何帮助对我都很重要

w8ntj3qf

w8ntj3qf1#

您必须使用sqlite的旧版本。此代码工作正常:

create table summer (
    athlete int,
    event int
);

SELECT
  Athlete,
  Event,
  row_number() over () AS num
FROM summer;

这是一把小提琴。
窗口函数在3.25版中引入。您可以使用以下方法检查您的版本:

select sqlite_version();

注意,sql标准指定 ORDER BY 是必需的 ROW_NUMBER() . 在sqlite(和其他一些数据库)中,它是可选的。

aydmsdu9

aydmsdu92#

在sqlite中,似乎不需要“over”后面的括号。所以会是这样的:

SELECT
  Athlete,
  Event,
  row_number() OVER AS num
FROM summer;

来源

相关问题