gpt4 book ai didi

sql - 功能未实现 : WINDOW/ORDER BY

转载 作者:行者123 更新时间:2023-12-02 00:10:49 25 4
gpt4 key购买 nike

我正在使用嵌入式 Apache Derby 数据库并执行以下查询:

SELECT 
someUniqueValue,
row_number() over(ORDER BY someUniqueValue) as ROWID
FROM
myTable;

someUniqueValue 是一个 varchar。

我收到异常:

java.sql.SQLFeatureNotSupportedException: Feature not implemented: WINDOW/ORDER BY

如果我将查询中的 row_number() 行更改为:

row_number() over() as ROWID 

查询运行良好(尽管结果对我来说没有用)。

The Derby documentation表明这是支持的。我做错了什么?

最佳答案

您发布的链接只是一个草稿,用于指定如何实现该功能。

如果你向下滚动一点,你会发现:

An implementation of the ROW_NUMBER() window function is included in Derby starting with the 10.4.1.3 release. Limitations and usage description may be found in the Derby Reference Manual

当您查看 Derby 手册时(您的链接不是手册)http://db.apache.org/derby/docs/10.10/ref/rreffuncrownumber.html您会发现限制列表:

  • Derby 目前不允许在 OVER() 子句中指定命名或未命名的窗口规范,但需要一个空括号。这意味着该函数是在整个结果集上计算的。
  • 目前无法在 WHERE 子句中使用 ROW_NUMBER 函数。
  • Derby 目前不支持子查询中的 ORDER BY,因此目前无法保证 SELECT 子查询中行的顺序。如果排序是严格要求,则可以使用优化器覆盖来强制优化器使用在所需列上排序的索引。

关于sql - 功能未实现 : WINDOW/ORDER BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21325930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com