gpt4 book ai didi

sqlite - OFFSET 和 LIMIT 表达式范围

转载 作者:行者123 更新时间:2023-12-01 16:23:48 26 4
gpt4 key购买 nike

我在 SQLite (3.7.16.2) 中发现以下限制(?):

想象一下以下架构:

CREATE TABLE t1 (v);
CREATE TABLE t2 (v);

如果有这样的子查询,

SELECT *, (SELECT COUNT() FROM t2 WHERE t2.v = t1.v) FROM t1;

它有效,这意味着在 t2 上的子查询中,您可以引用外部查询(在 t1 上)列。

但是,

SELECT *, (SELECT COUNT() FROM t2 LIMIT t1.v) FROM t1;

SELECT *, (SELECT COUNT() FROM t2 LIMIT 1 OFFSET t1.v) FROM t1;

失败并出现错误错误:没有这样的列:t1.v

这意味着 OFFSETLIMIT 子句中的表达式无法引用外部查询中的列。

此行为是 SQLite 引擎的限制吗?

还是我遗漏了一些要点?

最佳答案

这确实是迄今为止所有 SQLite 版本的限制。(OFFSET/LIMIT 是非标准扩展,因此未指定是否允许这样做。)

关于sqlite - OFFSET 和 LIMIT 表达式范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19297321/

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